Android 使用GreenDAO的坑,小bug

时间:2022-05-24 19:50:51

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();