unter iOS können wir einfach realm.deleteAllObjects();
aufrufen, um alle Objekte in unserer Realm-Datenbank zu entfernen.Löschen aller Realm-Objekte während der Laufzeit
Wie erreichen wir das gleiche in Android?
unter iOS können wir einfach realm.deleteAllObjects();
aufrufen, um alle Objekte in unserer Realm-Datenbank zu entfernen.Löschen aller Realm-Objekte während der Laufzeit
Wie erreichen wir das gleiche in Android?
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
Vorerst clear()
ist veraltet. Verwenden Sie stattdessen documentationresults.deleteAllFromRealm()
oder realm.deleteAll()
oder realm.delete(Dog.class)
.
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();
}
});
Große Beispiele. Danke für das Teilen! –
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();
}
.clear() ist veraltet. – MikeOscarEcho
UPDATE 3.7.0
realm.beginTransaction();
realm.deleteAll();
//else realm.delete(obj_A.class);
realm.commitTransaction();
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. –
in der vorherigen Version von Realm gab es 'clear (A.class);' -Methode, die in der neueren Version veraltet ist. @DavidMiguel – Aks4125
'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. –
Diese Antwort ist veraltet. Siehe die Antwort von The Todor für eine funktionierende Lösung. –
Sie sollten stattdessen result.deleteAllFromRealm() verwenden, da results.clear() veraltet ist. PLZ aktualisieren Sie Ihre Antwort –
in Realm 3.5.0 Realm.clear() wurde veraltet Sie können gelöscht werden –