从房间数据库中获取特定实体的最佳方法是什么?



我在一段时间之前正在做一个项目,用户可以选择路由/课程,并在单独的页面上查看其信息,但在提取特定实体信息的信息上遇到了问题存储在我的房间数据库中。我最终没有找到解决问题的解决方案,因此我只是完全更改了方法,并通过启动活动的意图传递了必要的信息,而不仅仅是通过搜索数据库获取信息。

我已经试图在这里询问问题如何将特定的实体放入房间,但是似乎没人看到问题在哪里,所以我正在改变问题。

我现在想知道的是从Kotlin的房间数据库获取特定实体的最佳方法。

我查看了您的问题,我认为您的问题是您试图获取通常返回null的实时数据的价值。我也有一个类似的问题,我解决了它,但是从dao中返回实际实体并在ViewModel中的IO线程中读取它

dao:

 @Query("select * from groups WHERE groupid =:groupId ")
fun getGroup(groupId:String): Group

存储库:

   override suspend fun getGroup(groupId: String): Group {
  return   runBlocking {
        groupDao.getGroup(groupId)
    }
}

ViewModel:

  fun getGroup(groupID:String):Group{
    return runBlocking {
        async(Dispatchers.IO) {
            groupsRepository.getGroup(groupID)
        }.await()
    }
}

相关内容

最新更新