У меня есть приложение для Android, которое подключается к компьютеру через USB-кабель. Я использую класс TCPServer для отправки сообщений и прослушивания. Например:
Когда я отправляю сообщение вроде: запрос: x
Я получаю ответ: ответ: x: 55
Мне нужно внести изменения в свою деятельность в соответствии с полученным ответом. В настоящий момент я временно решил проблему, передав объект активности и класса активности конструктору TCPServer
public TCPServer(int portNum, Activity activity, IntroActivity ia) {
super();
port = portNum;
this.activity = activity;
this.ia = ia;
}
Затем после получения ответа:
void updateButton(final int color, final String txt) {
activity.runOnUiThread(new Runnable() {
public void run() {
ia.getConnectionButton().setBackgroundColor(color);
ia.getConnectionButton().setText(txt);
}
});
}
Как вы видите, это совсем неэффективно. Мне нужно как-то уведомлять о деятельности всякий раз, когда получена соответствующая переменная. Я использую класс для GlobalVariables и изменяю эти статические переменные после прослушивания(), однако у меня возникают проблемы с уведомлением об активности.