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 Suchanfragen Ergebnis in Leere Objekte
  • Android: Realm + Retrofit - Serialize apiresponse
  • Realm Query möglich, IN zu verwenden?
  • Realm-Zugriff von falschem Thread
  • Primärschlüsselbeschränkung gebrochen. Wert existiert bereits: 0
  • Hinzufügen eines PrimaryKey zu einem Realm mit Tonnen von doppelten Daten
  • Realm.io / Dagger / Databinding im selben Projekt
  • Realm: Wie man mit vielen zu vielen Feld abfragt
  • So aktualisieren Sie nur NULL-Werte beim Schreiben von Daten in Realm
  • Integration von Realm.io auf Eclipse
  • Testen von Android Realm mit RxJava - "geöffnet von einem Thread ohne Looper" Ausnahme
  • Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.