{Извиняюсь за кросс-пост с форума разработчиков android. Там не получили никаких ответов}
У меня есть интересная задача дизайна:
У меня есть веб-интерфейс (Activity) и бэкэнд (написанный на родном C / C ++)
код. Бэкэнд представляет собой сложный объект, который частично контролирует
Поток приложения и однажды запущенный работает в своем собственном потоке. Так что я
сценарий «распределенного управления».
Активность должна иметь возможность асинхронно отправлять сообщения
бэкэнд, который затем выполняет определенные действия. Но бэкэнд также нуждается
чтобы иметь возможность асинхронно отправлять сообщения в активность, к которой
он отвечает, изменяя пользовательский интерфейс, методы стрельбы и т. д.
По сути, мне нужен двусторонний слушатель.
Итак, бэкэнд отправляет сообщение на экран (сфотографируй, подскажи пользователю, получи
местоположение, сделайте еще один снимок сейчас и т. д.)
сделать. Но кроме того, экран также должен быть в состоянии вызвать
backend-слушатель для отправки обратно сообщений (снятое изображение с камеры, система
сгенерировано - сообщение "Я получил паузу / уничтожено" и т. д.) в обратных вызовах
эти события. Основная проблема в том, что это все асинхронно.
Возможно ли это без жесткой связи? Это вообще возможно?
Я думал об Asynctask / обработчиках (но это улица с односторонним движением для
информирование потока пользовательского интерфейса), шаблон наблюдателя (оба объекта будут
наблюдатель / наблюдаемый?) но не понимает, с чего начать. Какие-нибудь мысли,
ссылки были бы очень полезны.