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);
我已经将 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);