如何使用 Mqtt 编写自定义变量更改侦听器

问题描述 投票:0回答:1

Mqtt 客户端每 2 秒向我发送一次数据。我可以得到数据,没有问题。我有全局类,当我获取数据时,我设置类的变量。我想在我的其他类上使用这些数据,所以我使用该方法来访问数据:

handler = new Handler();
runnable = new RefreshData(handler, ...);
handler.postDelayed(runnable, 2000);
public RefreshData(...) {
    ...
    }
    private class RefreshData implements Runnable {
    @Override
    public void run() {
        GlobalClass globalClass = (GlobalClass) getApplicationContext();
            this.lat = globalClass.getLat();
            this.lng = globalClass.getLng();
            ... }
    }

关于如何获取数据的代码:

public class MqttMessageService extends Service {   
private MqttAndroidClient mqttAndroidClient;
public MqttMessageService() {
}

@Override
public void onCreate() {
        mqttAndroidClient.setCallback(new MqttCallbackExtended() {
        @Override
        public void messageArrived(String s, MqttMessage mqttMessage) throws Exception {
            GlobalClass globalClass = (GlobalClass) getApplicationContext();
            globalClass.setMessage(mqttMessage.toString());
        }
...}

所以我想为 mqttMessage 编写一个变量更改侦听器,因为该方法 -RefreshData- 有效,但没有用。我没有编写代码并使用任何自定义侦听器,而且我对此没有太多经验。我该如何编码?

android listener mqtt
1个回答
0
投票

我找到了解决方案,我创建了全局类并设置了该类的侦听器。

© www.soinside.com 2019 - 2024. All rights reserved.