![]() |
1
20
您不能使用
Room等待特定的方法签名来生成代码。所以,除非Room不直接支持协同路由,否则不能对DAO使用挂起函数。 目前,您有这样的解决方法:
但如果可能的话,请始终选择选项1,因为Room已经提供了非阻塞API,只需使用协同路由适配器,就可以将此API与无回调的协同路由一起使用
截至年月日
|
![]() |
2
9
实际上这是可能的, 您需要使用:
您可以按照本教程进行操作: https://medium.com/androiddevelopers/room-coroutines-422b786dc4c5 此外,对我有效的版本是:2.1.0-alpha04 所以,我的客房部是:
|
![]() |
3
8
我通过将我的房间版本更改为最新的稳定版本(截至撰写本文时为2.3.0)来解决这个问题,同时我当前的Kotlin版本是1.5.10。 一般来说,如果仍然存在错误,我建议您对依赖项使用最新的稳定版本。 |
![]() |
4
3
我也有同样的错误,后来我才知道 悬 我的DAO类方法中的关键字:
转换为解决我的问题:
|
![]() |
5
0
在某些活动中,可能需要将房间DB代码行包装在一个协同例程中,如下面的代码所示。(因为如果没有协同程序,它将崩溃。)
在这种情况下,如果Dao中没有使用suspend方法,则此活动将崩溃。这意味着不可能摆脱协同程序或删除挂起方法。在这种情况下,如果从Dao中删除suspend方法,并将活动的协同路由更改为以下内容,那么它可以正常工作。
cf.kotlin\u版本=“1.6.0”和room\u版本=“2.3.0” |
![]() |
6
0
参数的类型必须是用@Entity或其集合/数组注释的类。 科特林。协同程序。继续(<);?超级科特林。单位(>);续); ^ |
![]() |
B W · Room是否允许非基本数据类型作为主键? 6 年前 |
![]() |
MeLean · 有没有办法为Room持久性库创建泛型DAO类 6 年前 |
![]() |
obrassard · 在Android Room的主线程外返回数据 6 年前 |
|
jenson4 · 如何通过存储库获取id? 6 年前 |
![]() |
DaveNOTDavid · 如何更新房间数据库中实体内的某些列? 6 年前 |
![]() |
Jéwôm' · @查询中对象的可访问性 7 年前 |