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

Android : Realm database delete all the records after first N records from the database

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

任何帮助都将不胜感激。

提前致谢!

没有自动执行此操作的方法。但是,如果您在模型中添加时间戳 class(例如 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);