我正在尝试使用Kotlin开发一个Android应用。到目前为止一切正常。我致力于实现一个房间数据库,然后在Codelab Android Room中使用一个View,并调整了适合我项目的步骤。
但是,我不想在recyclerview中表示存储在数据库中的数据,我想搜索存储在数据库中的特定条目。我知道SQL以及如何制定查询,因此此步骤已正确完成。
我的问题是我不太确定什么是访问数据库的最佳方法。每当我尝试从存储库中或在DAO的帮助下获取数据时,我都会提取kotlin.Unit,而不是假定的Data Object。 在直接使用DAO访问数据库的情况下,我得到了RoomTrackingLiveData,我无法观察到它访问基础对象。
最后,我的问题是,提取特定数据条目的最佳选择是什么? ViewModel->存储库-> DAO-> Db? DAO-> Db?
或者还有其他好的方法吗?
第二个问题,我是否必须返回Livedata对象,只是为了创建一个异步进程,还是可以以某种方式避免在不创建Livedata对象的情况下阻塞主线程? ?
我希望一切都可以理解,即使不问。