Room-仅读取一次数据时不需要LiveData吗?

时间:2019-04-22 12:30:53

标签: android android-room android-livedata

我正在遵循此codelab,从数据库中检索数据的建议的最佳实践之一是对LiveData的返回值使用DAO包装器(代码实验室中的步骤6) )。

但是在我的应用程序中,我在活动开始时仅读取一次现有的.sqlite文件。因此,使用该包装程序是不必要的,对吗?

那么就最佳实践而言,让我的DAO返回一个简单的对象而不是使用围绕它的LiveData构造是否可以接受?

1 个答案:

答案 0 :(得分:1)

ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]有两个功能:提供更新和异步操作。

如果您在应用运行期间不会更改数据,则不会利用LiveData的更新交付功能。

但是,您仍然需要安排将数据加载到后台线程上。如果您打算通过其他方式(例如RxJava,您自己的后台线程)执行此操作,则可以避免使用LiveData

此外,如果您计划一开始就加载数据库中的所有数据并且从不更改它们,那么SQLite和Room是毫无意义的。只需使用JSON文件即可。 SQLite的价值在于能够查询和修改部分数据。