我已将Realm android集成到我的项目中。 我想保留我的表限制以存储最多100条记录。如果有任何新记录,请检查其限制是否增加到100,然后应删除这些记录(101..N)。该表应仅包含最后100条记录。
任何帮助都是有意义的。
谢谢!
答案 0 :(得分:1)
没有自动执行此操作的方法。但是,如果您在模型类中添加时间戳(例如created
),则可以添加listener并删除旧对象。像这样:
realmListener = new RealmChangeListener() {
@Override
public void onChange(Realm realm) {
RealmResults<YourClass> objs;
int nObjsToDelete;
objs = realm.where(YourClass.class).sort(created).findAll();
nObjsToDelete = objs.size()-100;
objs.limit(nObjectToDelete).findAll().deleteAllFromRealm();
}
};
realm.addChangeListener(realmListener);