我正在遵循此codelab,从数据库中检索数据的建议的最佳实践之一是对LiveData
的返回值使用DAO
包装器(代码实验室中的步骤6) )。
但是在我的应用程序中,我在活动开始时仅读取一次现有的.sqlite
文件。因此,使用该包装程序是不必要的,对吗?
那么就最佳实践而言,让我的DAO
返回一个简单的对象而不是使用围绕它的LiveData
构造是否可以接受?
答案 0 :(得分:1)
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
有两个功能:提供更新和异步操作。
如果您在应用运行期间不会更改数据,则不会利用LiveData
的更新交付功能。
但是,您仍然需要安排将数据加载到后台线程上。如果您打算通过其他方式(例如RxJava,您自己的后台线程)执行此操作,则可以避免使用LiveData
。
此外,如果您计划一开始就加载数据库中的所有数据并且从不更改它们,那么SQLite和Room是毫无意义的。只需使用JSON文件即可。 SQLite的价值在于能够查询和修改部分数据。