【问题标题】:What is the best way to get specific entity from room database从房间数据库中获取特定实体的最佳方法是什么
【发布时间】:2019-08-06 02:06:03
【问题描述】:

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

我已经尝试在这里How to get a specific Entity in Room 询问问题,但似乎没有人知道问题出在哪里,所以我正在更改问题。

我现在想知道的是,从 Kotlin 的 Room 数据库中获取特定实体的最佳方式是什么。

【问题讨论】:

标签: kotlin android-room


【解决方案1】:

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

道:

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

存储库:

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

视图模型:

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

}

【讨论】:

    猜你喜欢
    • 2017-12-11
    • 1970-01-01
    • 2021-01-30
    • 2021-05-02
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 2014-07-21
    • 1970-01-01
    相关资源
    最近更新 更多