Android: база данных Realm удаляет все записи после первых N записей из базы данных - PullRequest
0 голосов
/ 24 октября 2018

Я интегрировал Realm Android в свой проект.Я хочу сохранить ограничение таблицы для хранения максимум 100 записей.Если появятся какие-либо новые записи, проверьте, не увеличивается ли их лимит до 100, тогда эти записи следует удалить (101..N).Таблица должна содержать только последние 100 записей.

Любая помощь будет ощутима.

Заранее спасибо!

1 Ответ

0 голосов
/ 29 октября 2018

Нет автоматического способа сделать это.Но если вы добавите метку времени в свой класс модели (скажем, 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);

...