Компоненты архитектуры Android - связь между Деятельностью / Фрагментом и Сервисом / IntentService - PullRequest
0 голосов
/ 14 ноября 2018

ответ на этот вопрос предоставляет мне изумительное руководство по использованию сервисов в среде компонентов архитектуры Android / Jetpack.

Предполагается, что IntentServices должен просто подключаться к ViewModels через репозитории, как если бы они были любым другим источником данных, например веб-службой.

Но ни в этом ответе, ни в руководстве Jetpack, на котором он основан , нет большой информации о так называемом объекте "Удаленный источник данных", который запускается и связывается со службой, наблюдает за его LiveData и каскадирует его обратно в хранилище.

Что это? Обычный объект Java, который вводится в репозиторий? Синглтон? Какой-то особый подкласс с учетом жизненного цикла?

Где он получает контекст, необходимый для запуска службы?

Есть ли пример кода, на который вы можете указать мне? Если нет, не могли бы вы просто набросать основы того, как это будет выглядеть, в том числе, как его жизненный цикл будет связан с жизненным циклом самой службы, для новичков, таких как я?

enter image description here

Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Имейте базовую активность для всех ваших действий и дайте ей привязать / отменить привязку к услуге.Имейте промежуточный уровень с хранилищем и посредником, который управляет связью между службой и действиями.Ваши ViewModels могут зарегистрироваться у наблюдателя и наблюдать.

0 голосов
/ 14 ноября 2018

Почему вы хотите воспользоваться услугой?Удаленный источник данных обычно означает слой, который извлекает данные из вашего веб-интерфейса API с использованием библиотеки, такой как Retrofit .Вам не нужна услуга для этого.

...