我正在开展一个IoT项目,我正在使用mosquitto broker来获取消息到我的Android应用程序。但是,当我收到我的应用程序上发布的消息时,它们似乎是一种奇怪的格式。如何以正确的格式获取数据。我是否需要更改mosquitto配置中的内容。
发送的数据:"你好"
收到应用:[B @ 2df51a89
这是我用来获取onMessageReceived中的文本(主题,消息) 。message.getPayload()的toString();
感谢任何帮助。
[更新] - 当我从移动应用程序发布数据时,数据在订阅者处完美接收。反之亦然。
答案 0 :(得分:0)
您已打印出字节数组的对象表示形式(消息有效负载)。正确的做法是使用已知编码(可能是UTF8)从字节数组创建一个新的String
String payload = new String(message.getPayload(), "utf8")
然后打印有效负载String