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

时间:2019-07-13 08:50:02

标签: android listener mqtt

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-,但这没有用。我没有编写代码并使用任何自定义侦听器,对此我没有太多经验。我该如何编码?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,创建了全局类并设置了侦听器。也许这个答案可以帮助其他人。