如何分隔接收的字节

时间:2019-04-15 14:05:32

标签: java android bluetooth

如何分隔蓝牙发送的接收字节?

我读了很多主题,但没有找到我想要的。我在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;
            }
        }

我想知道如何将它们分开并将它们放在不同的变量中。

1 个答案:

答案 0 :(得分:0)

我认为您应该使用ByteBuffer类(https://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html)。将每个字节放在那里。然后使用getFloat方法将第一位转换为浮点数,然后使用常规的get方法获取其余字节