java - 打印 Mqtt 主题并选择一个订阅其中一个
问题描述
我遇到了一个问题,问题是关于在 android 的多个文本视图中显示来自代理服务器的可用 mqtt 主题,然后选择其中一个来订阅主题
final MqttAndroidClient client =new MqttAndroidClient(getApplicationContext(),"tcp://iot.eclipse.org:1883","12d45454");
try {
client.connect(mqttConnectOptions, null, new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken mqttToken) {
DisconnectedBufferOptions disconnectedBufferOptions = new DisconnectedBufferOptions();
disconnectedBufferOptions.setBufferEnabled(true);
disconnectedBufferOptions.setBufferSize(100);
disconnectedBufferOptions.setPersistBuffer(false);
disconnectedBufferOptions.setDeleteOldestMessages(false);
Log.i("ERROR ","Topic="+mqttToken.getTopics());
textview1.setText(mqttToken.getTopics()[0]);
}
解决方案
首先让我们谈谈您用于获取主题列表的方法的目的(根据您的代码):
Log.i("ERROR ","Topic="+mqttToken.getTopics());
上述方法 getTopics() 的目的不是为您提供 MQTT 代理上可用主题的详尽列表。此方法返回与您的令牌关联的主题的名称。如果您通过此链接,您将看到该方法在成功完成操作时被调用。此外,您可以查看 IMqttToken 的 java 文档。
也许您可以详细说明您的用例,以便观众可以帮助您,获取所有活动主题不应该是理想的解决方案。
推荐阅读
- javascript - 在代码沙盒上使用 bit.dev
- android - 如何使用底部导航视图进行条件导航
- javascript - 以角度读取清单内容
- typo3 - 创建一个不存在的表的 TYPO3 存储库
- vb.net - 如何使用 vb.net 将 Apache Hive 与 ODBC 和 MIT Karberos 连接起来
- c# - 有没有办法在 RestSharp POST 请求的末尾添加一个空参数?
- php - 如何使用 PHP 在特定位置附加 JSON 文件
- node.js - 使用在 Firestore 模拟器上运行的 Firebase-Admin 时找不到 Firestore 文档
- python - discord.py 和 heroku 托管问题
- php - Laravel 命令执行输出