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-,但这没有用。我没有编写代码并使用任何自定义侦听器,对此我没有太多经验。我该如何编码?
答案 0 :(得分:0)
我找到了解决方案,创建了全局类并设置了侦听器。也许这个答案可以帮助其他人。