Комната - LiveData не нужны при чтении данных только один раз? - PullRequest
0 голосов
/ 22 апреля 2019

Я следую этой кодовой метке , и одним из рекомендуемых лучших способов извлечения данных из базы данных было использование оболочки LiveData для моих DAO возвращаемых значений (шаг 6 в кодовой метке).

Но в моем приложении я читаю существующий файл .sqlite только один раз в начале упражнения.Таким образом, использование этой оболочки должно быть ненужным, я прав?

Так допустимо ли (с точки зрения передового опыта) заставить мой DAO возвращать простой объект вместо использования конструкции LiveData вокруг него?

1 Ответ

1 голос
/ 22 апреля 2019

Существует две функции LiveData: доставка обновлений и асинхронная работа.

Если вы не будете изменять данные во время запуска вашего приложения, вы не воспользуетесь функцией доставки обновлений LiveData.

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

Кроме того, если вы планируете с самого начала загрузить все данные в базу данных и никогда не изменять их, то SQLite и Room бессмысленны. Просто используйте файл JSON. Значение в SQLite заключается в возможности запрашивать и изменять части данных.

...