Mosquitto 将消息格式发布到 android 应用程序

Mosquitto publish message format to android app

我正在从事一个 IoT 项目,在该项目中我使用 mosquitto 代理将消息发送到我的 android 应用程序。但是当我在我的应用程序上收到已发布的消息时,它们的格式似乎很奇怪。我怎样才能得到正确格式的数据。我需要更改 mosquitto 配置中的某些内容吗?

发送的数据:"hello"

在应用程序上收到:[B@2df51a89

这是我用来在 onMessageReceived(topic,message) 中获取文本的方法 message.getPayload().toString();

感谢任何帮助。

[更新] - 当我从移动应用程序发布数据时,订阅者可以完美接收数据。反之亦然。

您已经打印出字节数组(消息有效负载)的对象表示。正确的做法是使用已知编码(可能是 UTF8)从字节数组创建一个新字符串

String payload = new String(message.getPayload(), "utf8")

然后打印负载字符串