如何从收到的数据中正确提取信息?

时间:2016-09-06 01:43:30

标签: java android c android-studio bluetooth

我目前正在使用此library

我开始使用Android APP正常运行。我可以发送和接收一些数据。但我要做的是用BT模块在Android和Microcontroller之间进行通信。

在Android到Android上我发送如下数据:

String sequence = "1234";
bt.send(sequence.getBytes(), true);
//or just: 
bt.send(sequence, true);

在第二台设备上,我收到这样的数据:

bt.setOnDataReceivedListener(new OnDataReceivedListener() {
    public void onDataReceived(byte[] data, String message) {
        ...        
}
});

所以我发送的数据似乎是那条消息,但是如果我尝试做这样的事情:

String received_data = data.toString();

它看起来像一些随机序列,例如:

[B@1b1f21b4

[B@部分始终相同。如果我只是想做Android< - >那实际上没问题。 Android APP,我可以从消息中提取我需要的数据,但我需要在Microcontroller上读取这些数据。如何正确接收这些数据?

修改 感谢Isaac,我知道我需要将Android字节转换为字符串:

String str = new String(bytes, "UTF-8");

从消息和数据两方面我都可以阅读我的信息。但是,如果在微控制器上接收数据是正确的吗?

1 个答案:

答案 0 :(得分:0)

试试这个String receivedData = new String(data);。它应该工作。有关详细信息,请查看此link