首页 > 解决方案 > Android Kotlin:在 DAO 中使用“暂停”时出错 - 遵循 CodeLabs 指南

问题描述

我一直在关注 CodeLabs 的本指南,在本节中它显示了在 DAO 方法中使用“暂停”关键字,但是当我这样做时,我收到了这个错误:

error: To use Coroutine features, you must add `ktx` artifact from Room as a dependency. androidx.room:room-ktx:<version>
    public abstract java.lang.Object deleteAll(@org.jetbrains.annotations.NotNull()
    public abstract java.lang.Object insert(@org.jetbrains.annotations.NotNull()
                                     ^

我在网上查过,但人们说你不能在 DAO 方法中使用协程。

我还在这里添加了此步骤之前的所有 build.gradle 导入。

标签: androidkotlingradlecoroutinekotlin-coroutines

解决方案


好的,我发现了问题所在。即使我将协程文件添加到 build.grade 文件中,我也需要添加 Room 的特定协程文件,即:

implementation "androidx.room:room-ktx:2.2.5"

这将是使用带有 DAO 方法的协程。

我很困惑,因为我以为我在上一步中添加了所有必要的文件。


推荐阅读