Как я могу закодировать пользовательский прослушиватель изменений переменных с помощью MqttAndroid

Форум для тех, кто программирует под Android
Anonymous
Как я могу закодировать пользовательский прослушиватель изменений переменных с помощью Mqtt

Сообщение Anonymous »

Клиент 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- работает, но это бесполезно. Я не писал код и не использовал какой-либо специальный прослушиватель, и у меня не так уж много опыта в этом. Как мне это закодировать?

Подробнее здесь: https://stackoverflow.com/questions/570 ... -with-mqtt

Вернуться в «Android»