Wie schneide ich alle Tafeln im Realm android

Hallo ich versuche, Tafeln in Android zu trunkieren, wenn sich ein Benutzer abmeldet. Im mit Realms Default Pfad nur.

realm = Realm.getInstance(getApplicationContext()); public void clearDB() { Realm.deleteRealmFile(instance); } 

5 Solutions collect form web for “Wie schneide ich alle Tafeln im Realm android”

Aktualisieren

Verwenden Sie realm.delete(Foo.class) stattdessen als clear() ist veraltet. Von 0.91.0 werden alle @Deprecated Methoden entfernt.


Christian von Realm hier Dieser Ansatz wird so lange funktionieren, wie Sie alle offenen Realm-Instanzen geschlossen haben. Ein weiterer Ansatz ist, die Tische zu löschen, die du möchtest:

 realm = Realm.getInstance(getApplicationContext()); public void clearDB() { realm.executeTransaction(new Realm.Transaction() { @Override public void execute(Realm realm) { realm.clear(Foo.class); realm.clear(Bar.class); } }); } 

Sie können hier mehr lesen: http://realm.io/docs/java/0.77.0/api/io/realm/Realm.html#clear(java.lang.Class)

Benutze realm.delete (Myclass.class);

 realm = Realm.getDefaultInstance(); realm.beginTransaction(); realm.delete(SuggestedAppDto.class); realm.delete(WifiSpotsDto.class); realm.commitTransaction(); realm.close(); 

Das hat für mich gearbeitet

Wenn Sie alle Tabellen löschen möchten, können Sie die Methode realm.deleteAll() verwenden:

 Realm realm = Realm.getDefaultInstance(); realm.beginTransaction(); realm.deleteAll(); realm.commitTransaction(); realm.close(); 

Alle Tabellen löschen:

 Realm.init(fragmentActivity); RealmConfiguration realmConfig = new RealmConfiguration.Builder().deleteRealmIfMigrationNeeded().build(); Realm realm = Realm.getInstance(realmConfig); realm.beginTransaction(); try { realm.deleteAll(); realm.commitTransaction(); } catch (Exception e) { e.printStackTrace(); realm.cancelTransaction(); } finally { realm.close(); } 

Eine oder mehrere Tabellen löschen:

  public void clearSearchHistory() { Realm.init(fragmentActivity); RealmConfiguration realmConfig = new RealmConfiguration.Builder().deleteRealmIfMigrationNeeded().build(); Realm realm = Realm.getInstance(realmConfig); realm.executeTransaction(new Realm.Transaction() { @Override public void execute(Realm realm) { realm.delete(Foo.class); } }); } 

Wenn du alle Tische löschen willst, ohne mich darum zu kümmern, neue Tische zu löschen, die du in der Zukunft erschaffen möchtest, mach einfach das

 // mRealm is your realm instance mRealm.beginTransaction(); Set<Class<? extends RealmModel>> tables = mRealm.getConfiguration().getRealmObjectClasses(); for (Class<? extends RealmModel> table : tables) { mRealm.delete(table); } mRealm.commitTransaction(); 
  • Realm.io - Wie kann ich das Objekt aktualisieren?
  • Realm, RxJava, asObservable () und doOnUnsubscribe ()
  • Kann nicht kompilieren Android App mit Reich
  • Android Realm: Primäre Schlüsselbeschränkung gebrochen. Wert existiert bereits: 0
  • Realm und Auto Inkrement Verhalten (Android)
  • Realm-Datei, die mit Android in einem Projekt erstellt wurde, ist in einem anderen nicht gültig
  • Android Realm Migration: Hinzufügen einer neuen Realm-Liste Spalte
  • Datentyp von Realm-Feld ändern - Java
  • Was ist der beste Weg, um List <String> in Realm Android zu verwenden?
  • Erstelle Fehler mit Realm
  • Wie man Realm-Migration behandelt, wenn Benutzer Updates überspringen
  • Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.