求个byte数据处理方案,谢谢
============问题描述============
蓝牙实时收到一系列有规则数据。如下
55 AA 81 01 5C 00 0C 31 02 FF 01 00 0B 00 04 41 46 66 66
55 AA 81 01 = 数据头
5C = 效验位
00 0C = 数据长度
31 02 = 数据命令字
FF 01 00 0B = 某一项数据的ID
00 04 = 某一项数据的长度
41 46 66 66 = 某一项数据的值(IEEE-754格式的单精度4字节浮点数)
Android的蓝牙串口接收不知道怎么像Windows一样指定接收字节数。
所以现在的想法是,被动的全部接收,然后存在一个大的缓冲区里,开个线程处理读取缓冲区,处理。
但是对java的字节处理也不懂。所以求一个byte字节的先进先出解决算法。谢谢
============解决方案1============
有个ByteArrayOutputStream可能可以用,不断把byte[]通过write写入缓冲区,最后调用toByteArray获取全部byte[]。
缺点是不能取出指定的字节数。
不过我觉得自己写一个也不麻烦,没有几行代码。
============解决方案2============
posted on 2014-10-24 09:23 android基础教程 阅读(498) 评论(0) 编辑 收藏 举报