2017-08-02 4 views
0

私のアンドロイドコードでレルムファイルを開いたり書き込んだりするのに問題があります。他のクラスのRealmConfiguration

以下はコード例です。

たとえば、インスタンスrealmAとrealmBの2つの設定を行います。しかし、という名前の別のアクティビティ(SecondActivity)で開きたいです。

私は2つの構成がとてもあり、Realm.getDefaultInstance()を知っているが、私はRealm.setDefaultInstance()


を使用することはできませんあなたはSecondActivityにrealmAとrealmBを宣言すると言うことができます。しかし、問題は、SchemaVersion 1を2などに更新するようなスキーマを変更した後で、毎回RealmConfigurationを変更する必要があるということです。そして、それは私に迷惑をかけることになります。(たくさんのアクティビティがある場合は、それを修正する必要があります..)

は、他のクラスでRealmConfigurationを使用するために何か良い方法はありますか?

答えて

3

ときフォアグラウンドでアプリを作成して利用できるようになりますので、あなたは、Applicationクラスに設定を入れる必要があります。

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とレルムファイルを開くことができますどのようにしてキャスト

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

でそれを使用作成することができますか?インスタンスをどのように処理できますか? – TyeolRik

+0

@TyeolRik私の回答を更新しました –

+0

Ummm ..ありがとう、私は私のコードで確認してテストします。返信ありがとう:) – TyeolRik

関連する問題