только предоставлять методы для получения данных?
Мне нужно скачивать PDF файл и отображать его на экране, хочу сделать через MVVM, скачивать нужно асинхронно, я хочу сделать так, что бы после загрузки path к файлу на диске записывался в LiveData поле.
А триггер в Activity для этого LiveData поля будет обновлять UI.
Только, я вот не пойму где должно хранится это поле в Model или ViewModel?
viewmodel храни и норм. В зависимости от того, как ты хочешь что бы было. например, что будет если чувак закроет приложение а потом откроет, сможет ли он получить доступ ко всем скачанным вайлам или ему нужно будет качать заново? если сможет, тогда нужно в модель сохранять, в базу данных рум скажем список файлов и ссылки на них. А если не сможет, смело сейви локально во вью модель и тогда файл потеряется. Но не забудь обработать кейсы с его удалением deleteOnExit()
аа то есть, в модели нужно хранить только постоянные данные? Типа на диске, в БД? а если промежуточно скачанное (в ОЗУ) для этого нужно во ViewModel переменные создавать?
Обсуждают сегодня