kotlin 升级到 1.6.0 后如何在 Room Dao 中使用 suspend 修饰符?
How to use suspend modifier in Room Dao after kotlin upgrade to 1.6.0?
将 kotlin 升级到 1.6.0 会导致 Room Dao suspend 修饰符中断构建项目并出现错误:“不确定如何处理查询方法的 return 类型......”。
除了存储库中 运行 Dao 函数 withContext(Disapatchers.IO) 的解决方法之外,(这里)是否有任何解决方案?
我昨天在升级 Kotlin 1.6.0 时遇到了同样的问题。
我的工作项目开始失败,出现相同的错误消息。
在其他一些论坛中搜索后,有人提到将 roomVersion 更改为“2.4.0-beta02”。而且......令人惊讶的是它有效!至少它编译没有任何问题。
试试吧,希望它对你也有用。
我的定义在一个变量中:
def roomVersion = "2.4.0-beta02"
因此 Room 的其余依赖项应利用此更改。
新的 Kotlin 编译器(又名 1.6.+
)至少需要 room 版本 2.4.0
才能支持该语言。因此,将您的房间依赖性升级到 2.4.0
.
并且由于您使用的是 room 版本,因此您还必须定位 Android API 31
。
将 kotlin 升级到 1.6.0 会导致 Room Dao suspend 修饰符中断构建项目并出现错误:“不确定如何处理查询方法的 return 类型......”。
除了存储库中 运行 Dao 函数 withContext(Disapatchers.IO) 的解决方法之外,(这里)是否有任何解决方案?
我昨天在升级 Kotlin 1.6.0 时遇到了同样的问题。
我的工作项目开始失败,出现相同的错误消息。
在其他一些论坛中搜索后,有人提到将 roomVersion 更改为“2.4.0-beta02”。而且......令人惊讶的是它有效!至少它编译没有任何问题。
试试吧,希望它对你也有用。
我的定义在一个变量中:
def roomVersion = "2.4.0-beta02"
因此 Room 的其余依赖项应利用此更改。
新的 Kotlin 编译器(又名 1.6.+
)至少需要 room 版本 2.4.0
才能支持该语言。因此,将您的房间依赖性升级到 2.4.0
.
并且由于您使用的是 room 版本,因此您还必须定位 Android API 31
。