Android:Realm数据库从数据库删除前N条记录后删除所有记录

时间:2018-10-24 06:17:58

标签: android sqlite realm realm-mobile-platform android-database

我已将Realm android集成到我的项目中。 我想保留我的表限制以存储最多100条记录。如果有任何新记录,请检查其限制是否增加到100,然后应删除这些记录(101..N)。该表应仅包含最后100条记录。

任何帮助都是有意义的。

谢谢!

1 个答案:

答案 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);