2015-12-18 22 views

Antwort

13

Sie können dies tun, indem sie zum Beispiel mit ergebnis-, wenn ich alle Hunde-Objekte löschen möchten, ich die folgenden-

// obtain the results of a query 

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

// All changes to data must happen in a transaction 
realm.beginTransaction(); 

// Delete all matches 
results.deleteAll(); 

realm.commitTransaction(); 

Ref tun können: documentation

+0

Diese Antwort ist veraltet. Siehe die Antwort von The Todor für eine funktionierende Lösung. –

+0

Sie sollten stattdessen result.deleteAllFromRealm() verwenden, da results.clear() veraltet ist. PLZ aktualisieren Sie Ihre Antwort –

+0

in Realm 3.5.0 Realm.clear() wurde veraltet Sie können gelöscht werden –

8

Vorerst clear() ist veraltet. Verwenden Sie stattdessen documentationresults.deleteAllFromRealm() oder realm.deleteAll() oder realm.delete(Dog.class).

16

löschen alle Objekte aus Realm-Datenbank:

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

alle Objekte einer Art von Realm-Datenbank löschen:

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

die Ergebnisse einer Abfrage löschen:

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(); 
    } 
}); 
+0

Große Beispiele. Danke für das Teilen! –

2

Ich bin das alle Objekte löschen verwenden:

private void clearAllRealmPerson(){ 

     Realm realm = Realm.getDefaultInstance(); 

     realm.beginTransaction(); 
     realm.clear(Person.class); 
     realm.commitTransaction(); 
     realm.close(); 
    } 
+0

.clear() ist veraltet. – MikeOscarEcho

0

UPDATE 3.7.0

realm.beginTransaction(); 
realm.deleteAll(); 
//else realm.delete(obj_A.class); 
realm.commitTransaction(); 
+0

Können Sie Ihre Antwort etwas genauer erläutern? Ich kann nicht finden, was sich in 3.7.0 bezüglich dieses Themas geändert hat. Vielen Dank. –

+0

in der vorherigen Version von Realm gab es 'clear (A.class);' -Methode, die in der neueren Version veraltet ist. @DavidMiguel – Aks4125

+0

'clear' war [in Version 0.89.0 nicht mehr empfohlen] (https://github.com/realm/realm-java/blob/master/CHANGELOG.md#deprecated-7) nicht in 3.7.0. –

Verwandte Themen