Должна ли viewmodel содержать некоторую бизнес-логику? Или создать собственные сервисы? - PullRequest
3 голосов
/ 11 июля 2019

enter image description here Я изучаю MVVM в Android.Я не могу понять, почему никогда не упоминают услуги?Теперь мое приложение выглядит как активность <-> viewmodel <-> репозиторий <-> dao.Например, я хочу синхронизировать дату из Firebase каждые 4 часа.Где я должен проверить время и загрузить данные?

1 Ответ

1 голос
/ 11 июля 2019

Вы можете использовать новейший компонент архитектуры Android

WorkManager

чтобы планировать свою работу каждые 4 часа и синхронизировать данные с firebase.

По вашему недоразумению ViewModel может содержать бизнес-логику, Но опять же, они всегда могут быть настроены в соответствии с нашими потребностями, например, если вам нужно выполнить операции пользовательского интерфейса из службы, вам может потребоваться привязать службу к активности, в этом случае код будет напрямую записан в действие или около того.

...