2017-08-02 45 views
0

我在打開和編寫我的android代碼中的realm文件時遇到了問題。Realm在其他類中的配置

下面是示例代碼。

public class FirstActivity extends AppCompatActivity { 

    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_first); 

     RealmConfiguration realmA = new RealmConfiguration.Builder() 
       .name("A.realm") 
       .schemaVersion(1) 
       .build(); 

     RealmConfiguration realmB = new RealmConfiguration.Builder() 
       .name("B.realm") 
       .schemaVersion(25) 
       .build(); 

     Realm.init(this); 

     Realm realm_A = Realm.getInstance(realmA); 
     // Do some jobs with realm_A 
    } 
} 

我做了兩個配置名爲realmA和realmB爲例子實例。但是,我想在另一個活動中打開它們,名爲SecondActivity

我知道Realm.getDefaultInstance()但是,有兩個配置的話,我不能使用Realm.setDefaultInstance()


可以說在SecondActivity該聲明realmA和realmB。但問題是,我應該修改RealmConfiguration後,每次修改模式,如更新schemaVersion 1到2等。而且,這使我困擾.. :((如果有噸的活動,我應該修改噸噸..)

是否有其他類中使用RealmConfiguration什麼好的辦法?

回答

3

你應該把配置,應用類,因爲將被創建和可用時在前臺應用程序。

public class MyApplication extends Application { 

    private RealmConfiguration rca, rcb; 

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

     // add configuration here 
     // also init private variable of configuration 
    } 

    public RealmConfigurationA() { 
     return realmConfiguration; 
    } 
} 

而在你的清單文件中添加

<application 
    android:name=".MyApplication" 
    .... 

要訪問您的配置,您可以創建一個進去MyApplication類和帶投

RealmConfiguration rc = ((MyApplication) getApplicationContext()).getRealmConfigurationA(); 
+0

用它那我該怎麼打開境界文件,RealmConfiguration?我如何處理實例? – TyeolRik

+0

@TyeolRik我更新了我的答案 –

+0

嗯..謝謝我將檢查和測試我的代碼。感謝您的回覆 :) – TyeolRik