如何分隔蓝牙发送的接收字节?
我读了很多主题,但没有找到我想要的。我在Android Studio 3.3.2上工作,正在Android应用程序上工作,该应用程序显示蓝牙从HC-06接收的数据。 该应用收到了3个字节,必须将它们分开: 1字节类型的float将被放入变量bat 1个字节将被放入变量tpr 并且将1个字节放入变量spd
我当时正在考虑使用此代码,但我不知道它是否适合使用以及如何进行调整。
while (true) {
try {
// Read from the InputStream
bytes = inputStream.read(buffer);
// Send the obtained bytes to the UI activity
mHandler.obtainMessage(Constants.MESSAGE_READ, bytes, -1, buffer)
.sendToTarget();
} catch (IOException e) {
e.printStackTrace();
break;
}
}
我想知道如何将它们分开并将它们放在不同的变量中。
答案 0 :(得分:0)
我认为您应该使用ByteBuffer类(https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html)。将每个字节放在那里。然后使用getFloat方法将第一位转换为浮点数,然后使用常规的get方法获取其余字节