Delete All Realm Objects During Runtime

JayVDiyk picture JayVDiyk · Dec 18, 2015 · Viewed 16.7k times · Source

on iOS we can easily call realm.deleteAllObjects(); to remove all objects in our Realm database.

How do we achieve the same in Android?

Answer

David Miguel picture David Miguel · Dec 7, 2016

Delete all objects from Realm database:

realm.executeTransaction(new Realm.Transaction() {
    @Override
    public void execute(Realm realm) {
        realm.deleteAll();
    }
});

Delete all objects of a kind from Realm database:

realm.executeTransaction(new Realm.Transaction() {
    @Override
    public void execute(Realm realm) {
        realm.delete(Dog.class);
    }
});

Delete the results of a query:

final RealmResults<Dog> results = realm.where(Dog.class).findAll();

realm.executeTransaction(new Realm.Transaction() {
    @Override
    public void execute(Realm realm) {
        // remove single match
        results.deleteFirstFromRealm();
        results.deleteLastFromRealm();

        // remove a single object
        Dog dog = results.get(5);
        dog.deleteFromRealm();

        // Delete all matches
        results.deleteAllFromRealm();
    }
});