Java对接柯力地磅仪表设备(Java socket|串口)
一、说明
我先把这篇文章挂在这里,因为我已经完成了对接过程,对坑有了深刻的理解,希望能对同样需要的合作伙伴有所帮助。项目完成后总结。如果有问题,可以发私信
项目场景:
提示:以下是项目相关背景的简要描述:
例如:项目场景:示例:蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)
问题描述
提示:描述项目中遇到的问题:
例如,数据在数据传输过程中不时丢失,偶尔丢失部分数据 APP 中接收数据代码:
@Override public void run() {
bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget(); }
原因分析:
提示:填写问题分析:
例如:Handler
发送消息有两种方式,即 Handler.obtainMessage()
和 Handler.sendMessage()
,其中 obtainMessage
当数据量过大时,由于方法 MessageQuene
大小也有限,所以当 message
如果处理不及时,先传数据将被覆盖,从而导致数据丢失。
解决方案:
提示:填写问题的具体解决方案:
例如:新建一个 Message
对象,并存储读取的数据 Message
,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
换成 mHandler.sendMessage()
。