手机蓝牙接收数据分段----bytebuffer可以解决
来源:互联网 发布:失物招领网站源码 编辑:程序博客网 时间:2024/05/18 02:20
最近在写一个关于手机蓝牙接受设备发来的数据的应用,在开发工程中发现接收到的数据有的时候是分段接收的 。上网查了一下有说是因为由于干扰或者是设备的原因导致数据没有一次发完,具体原因我也是没有太细追究,我的目的就是解决这个问题就好了,试了延迟接收发现在我的应用中效果不是很好,因为我的是接收不同种类的数据,而且长度也是长短不一,为了区分找了个办法
显示定义一个buffer
private static ByteBuffer buffer = ByteBuffer.allocate(1024);获取蓝牙数据InputStream inputStream = MCSApp.bluetoothSocket.getInputStream(); final byte[] bytes1 = new byte[inputStream.available()]; inputStream.read(bytes1); String aa = MethodHelper.byteToString(bytes1); buffer.put(bytes1);if (buffer.position() == 21 || buffer.position() == 18 || buffer.position() == 9) { bytes = new byte[buffer.position()]; buffer.flip(); buffer.get(bytes); String r_aa = MethodHelper.byteToString(bytes); Log.d("Buffer", "get byte array after done ---->" + r_aa); buffer.clear(); Message mag = new Message(); mag.what = 1; mag.obj = bytes; handler.sendMessage(mag);}大致也就是这个样子了 , 及供参考!!!!!!2 0
- 手机蓝牙接收数据分段----bytebuffer可以解决
- 蓝牙后台接收数据
- [蓝牙]蓝牙后台接收数据(BLE4.0)
- iOS 蓝牙分段发送数据代码
- Android接收蓝牙万用表数据
- iOS 蓝牙4.0(BLE)后台或者锁屏也可以接收数据的方法
- 关于蓝牙接收数据的解决方案
- android蓝牙(二)——接收数据
- iOS蓝牙后台接收数据(BLE4.0)
- 蓝牙后台接收数据(BLE4.0)
- iOS开发- 蓝牙后台接收数据
- iOS蓝牙4.0(BLE)-后台接收数据
- 蓝牙后台接收数据(BLE4.0)
- iOS蓝牙4.0(BLE)-后台接收数据
- 蓝牙通信,接收数据粘包
- Android:蓝牙接收心电计数据 绘制心电图
- 蓝牙接收苹果手机通知 ANCS协议分析
- 蓝牙接收苹果手机通知 ANCS协议分析
- spark-2.0图文讲解核心
- ffmpeg怎么样处理网络流
- 一个用matlab取正整数的各个位的数字的简单方法
- 可重入函数与线程安全
- WinInet的几个方法类的说明参考
- 手机蓝牙接收数据分段----bytebuffer可以解决
- POJ 3368 & UVA 11235
- 大小顶堆
- 2440超详细uboot移植笔记(三)------指定交叉编译链
- JS事件流(事件冒泡和事件捕获)
- DTLS编写样例二(基于DTLSConnector)
- Universal image loader设置图片圆角不显示
- 深入理解JVM——java内存区域与内存溢出异常
- Java并发之CountDownLatch的使用和源码解析