2016-07-18 6 views
1

Heute bin ich auf Realm umgestellt und habe mich über den genauen Zweck von RealmConfiguration gewundert.Android - Realm - Korrekte Verwendung der Realmkonfiguration

Nehmen wir an, ich habe zwei Aktivitäten, die Realm nutzen.

Wenn ich die DefaultInstance of Realm erhalte, muss ich die RealmConfiguration angeben. Muss ich das jedes Mal bei meinen zwei Aktivitäten anrufen? Was genau macht es? Sind das meine Daten? Soll ich das zum Beispiel einmal in der Anwendungsklasse deklarieren?

// Create a RealmConfiguration that saves the Realm file in the app's "files" directory.  
RealmConfiguration realmConfig = new RealmConfiguration.Builder(this).build(); 
Realm.setDefaultConfiguration(realmConfig); 

Ich habe versucht, auf Realm zu suchen, konnte aber keine Antwort finden.

Vielen Dank für Ihre Unterstützung,

Antwort

7

Wenn die DefaultInstance von Realm bekommen, muss ich die RealmConfiguration angeben. Muss ich das jedes Mal bei meinen zwei Aktivitäten anrufen?

Sie können, aber Sie sollten nicht.

Sollte ich dies zum Beispiel einmal in der Anwendungsklasse deklarieren?

Ja.

public class MyApp extends Application { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 

     RealmConfiguration realmConfiguration = new RealmConfiguration.Builder(this) 
       .build(); 
     Realm.setDefaultConfiguration(realmConfiguration); 
    } 
} 

Dann können Sie dies einfach irgendwo in Ihrer App sagen.

Realm realm = Realm.getDefaultInstance(); 

Es wird mit der RealmConfiguration konfiguriert, die Sie in der Anwendungsklasse festgelegt haben.

Was genau macht es? Sind das meine Daten?

Es sind nicht Ihre Daten, es ist die Konfiguration für Ihre Daten. Z.B. wie lautet der Name der Datenbankdatei, welche Version ist das Schema, ob die Daten verschlüsselt sind oder nicht, wie Migrationen auf neue Schemaversionen gehandhabt werden sollen usw. Weitere Optionen finden Sie unter here.

Wenn Sie in Ihrer App mehrere Realm-Dateien haben, können Sie mehrere RealmConfigurations verwenden. Eins für jeden. Es ist völlig normal, nur eine Realm-Datei in Ihrer App zu haben.

+0

Vielen Dank für diese sehr detaillierte Antwort! Sehr geschätzt :) – Isabelle