Подскажите наиболее простую, надежную и наиболее "синхронную" схему взаимодействия Компонента с GUI и Service. В ИНЕТЕ описано много схем, но, как правило, описывается схема, где главный - компонент с GUI , а SERVICE - подчиненный компонент. То есть Компонент с GUI отдает команды в Service- а Service отвечает и выполняет задачи. А тут оба компонента как бы равнозначны. Service, взаимодействует с Интернет-сервером, передает данные в компонент с GUI для отображения(при этом данные часто меняются и должны быть максимально синхронизированы). При этом, компонент с GUI сам может инициировать ряд задач для SERVICE(который передаст данные на сервер - оттуда получит ответ и передаст их обратно в компонент с GUI для отображения данных). Такая схема требуется для того,чтобы Service мог работать в фоновом режиме даже без компонента с GUI. Итак, требуются полноценная двунаправленная связь SERVICE и компонента с GUI с надежной синхронизацией данных(фактически в SERVICE будут храниться данные, постоянно обновляемые, а отображаться они будут в компоненте с GUI)
Посмотрите на мой древний ответ на эту тему
В вашем случае, я бы рекомендовал обратить пристальное внимание на п. 2 той рекомендации:
Через механизм Service binding - связывания Activity и Service - в итоге можно иметь в Activity указатель на экземпляр службы.
На всякие новомодные Otto/EventBus не советую вестись, поскольку они не работают когда сервис находится в другом процессе.
Update
Если речь идет о доступе из Service
к Activity
в том контексте, который обсуждается в комментариях, то я бы рекомендовал способ №3
Через LocalBroadcastManager
Говоря русским языком при получении неких данных, которые требуют отражения в Activity
вы посылаете LocalBroadcast
, который ловится вашим Activity
, вытаскиваются данные из Bundle
упакованных в LocalBroadcast
ну и т.д.
В принципе, можно воспользоваться и обычным Broadcast'ом, просто LocalBroadcast
, не пересекает границы приложения за счет чего обеспечивается и скорость и приватность данных.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я создал простую JsonRPC server (Netty socketServer) для выполнения определенных задач, общих для нашей команды, но вызывающиеся из разных сетейСервер получает...
На странице внезапно появились символы `` c разными вариациями, в зависимости от ОС: