首页 > 解决方案 > 如何解决此 Android SQLite Room DAO 错误消息?

问题描述

我不知道下面的问题有什么问题?

代码:

分类DAO.kt

@Dao
interface CategoryDAO {
    @Query("select * from CategoryDesign")
    suspend fun getCategory(): MutableLiveData<List<CategoryDesign>>


}

分类设计.kt

@Entity
data class CategoryDesign (
    @PrimaryKey
    var categoryDesignID:String,
    var designImage:String,
    var designTitle:String){
    constructor() : this("","","")

    override fun toString(): String {
        return designTitle
    }
}

按运行应用程序按钮将显示如下错误:

error: Not sure how to convert a Cursor to this method's return type (androidx.lifecycle.MutableLiveData<java.util.List<com.squall.searchdesigner.model.CategoryDesign>>).
    public abstract java.lang.Object getCategory(@org.jetbrains.annotations.NotNull()


w: [kapt] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: androidx.room.RoomProcessor (DYNAMIC), android.databinding.annotationprocessor.ProcessDataBinding (DYNAMIC).

依赖项:

dependencies {
    def room_version = "2.2.3"
kapt "androidx.room:room-compiler:$room_version"
implementation "androidx.room:room-ktx:$room_version"
}

标签: androidandroid-sqliteandroid-roomdao

解决方案


似乎您只能使用LiveData返回类型。也许 Room 不允许您使用 MutableLiveData?


推荐阅读