Могу ли я использовать LiveData в Worker для уведомления об изменении данных для вызывающего фрагмента / действия? - PullRequest
0 голосов
/ 25 февраля 2020



У меня есть один фон Worker, который получает список автомобилей с сервера.
Рабочий запускается с onCreate из Fragment.
Я хочу, чтобы Fragment был уведомлен со списком автомобилей, которые были выбраны Worker, используя LiveData и ViewModel.


Пожалуйста, помогите
Спасибо заранее

1 Ответ

1 голос
/ 25 февраля 2020

Вы можете непосредственно наблюдать за прогрессом работника, вызывая getWorkInfoByIdLiveData, используя тег id при создании работника. Я предполагаю, что ваш работник будет хранить список в некотором локальном хранилище, которое ваш фрагмент может позже прочитать, чтобы обновить его представление.

Посмотрите, как наблюдать за состоянием работы: https://developer.android.com/topic/libraries/architecture/workmanager/how-to/states-and-observation

Если вы хотите показывать данные только тогда, когда представление живо (и вы будете получать список на каждом запуск приложения), лучше переместить логи c, чтобы получить список автомобилей в отдельных LiveData и ViewModel, и ваш фрагмент будет наблюдать это.

...