Room bug集合

这篇博客主要介绍了在使用Android Room库时遇到的两个常见错误:1. 将Cursor转换为返回类型的错误,解决办法是确保在获取所有数据时使用List而非ArrayList。2. Room实体类缺少@Entity注解,导致识别问题。这两个小错误可能导致大的运行时问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Not sure how to convert a Cursor to this method's return type

游标说我不知道你发的返回类型是啥

就是说getall的时候list必须用List而不可以是arrayList,如下全部的List不能写成Arraylist。不然运行就会报这个错误

@Dao
interface JournalOperateDao {
    @Query("Select * FROM `JournalOperateBean`")
    fun getAllJournalOperate():List<JournalOperateBean>
    @Query("SELECT * FROM `JournalOperateBean` WHERE userId=:id")
    fun getJournalOperate(id: String): List<JournalOperateBean>
    @Query("Select * FROM `JournalOperateBean` ORDER By id DESC LIMIT :start , :last")
    fun getLimitJournalOperate(start:Int,last:Int): List<JournalOperateBean>


    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insertJournalOperate(JournalOperates: List<JournalOperateBean>)
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insertJournalOperate(JournalOperates: JournalOperateBean)

    @Update(onConflict = OnConflictStrategy.REPLACE)
    fun update(vararg JournalOperate: JournalOperateBean)
    @Delete
    fun delete(vararg JournalOperate: JournalOperateBean)
    @Query("DELETE FROM `JournalOperateBean`")
     fun deleteJournalOperateBeanAll()
}

2.room Entity class must be annotated with @Entity

@Database(
    entities = [
        这里应该写实体类而不是dao::class
    ], version = 1, exportSchema = false
)

就是写实体类的地方写成了dao或者是别的什么,然后不识别了。小问题大麻烦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值