Android 使用GreenDAO的坑,小bug

本文介绍了在使用GreenDAO这款Android平台的数据持久化库时需要注意的一些细节。主要包括:1. 使用@Id注解时,变量的数据类型必须为Long;2. 保存数据后立即查询可能会因缓存机制而查不到刚保存的数据,提供了相应的解决方法。

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

GreenDAO是一款Android平台的数据持久化平台。

其中的有些小bug,也算是要注意的地方。

1、

一个数据持久化类,进行@Entity 修饰的时候,如果里面的变量要指定@Id  修饰的话。这个数据类型一定要是 Long。否则会保存数据不成功。莫名其妙的保存不成功。一般新手谁知道是这个原因啊。 小坑一个。

@Entity

public class XXXBean implements Serializable {

    @Id

    private Long _id;

....

}

2、

在GeenDAO里进行保存A的操作,A 保存成功后,马上再获取全部数据,里面是没有A的。GeenDAO有数据缓存机制,有一定的延迟,过N久再获取全部数据才能在数据队列里获取到A。

解决方法:

  //在获取全部数据或执行操作前执行以下操作。

daoSession.clear();
daoSession.getXXXXDao().detachAll();
daoSession.getXXXXDao().loadAll();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值