2017-08-22 76 views
0

我有使用另一個android模塊的主要android項目。在主要的Android項目中,我得到了一些像as一樣的配置的實例。我們可以爲不同的模塊設置不同的領域配置嗎?

realm = Realm.getInstance(someConfig()); 

上午INITING從主應用程序的應用程序類領域,如下

Realm.init(Context); 

在我的模塊時,我嘗試調用下面這行就顯示錯誤。

Realm db = Realm.getDefaultInstance(); 

錯誤:

error Wrong key used to decrypt Realm. 
W/System.err: 
java.lang.IllegalArgumentException: Wrong key used to decrypt Realm. 

回答

2

1)我真的認爲,一個依賴於具有其自身的RealmConfiguration被設置爲「默認配置」是嚴重​​侵擾。所以庫代碼應該使用Realm.getInstance(configuration)

2.)如果您希望配置引用不同的文件,您可能需要使用new RealmConfiguration.Builder().name("somename.realm")/*...*/設置不同的名稱。

+0

我試圖創建與DIFF名稱(message.realm)自定義配置。之後我打電話給Realm.getInstance(配置)。但沒用。仍然錯誤 –

+1

您應該在**之前使用給定的配置打開一個Realm創建自定義配置** ...? – EpicPandaForce

1

添加以下代碼以延伸的應用/ MutlidexApplication類或其中烏爾intializing境界父類:

Realm.init(Parent.this); 
     RealmConfiguration realmConfiguration = new RealmConfiguration.Builder() 
       .name(AppConstants.DATABASE_NAME) 
       .schemaVersion(2) 
       // .migration(new DBMigration()) 
       // .migration(new Migration()) 
       .deleteRealmIfMigrationNeeded() 
       .build(); 

     Realm.setDefaultConfiguration(realmConfiguration); 
     Realm.getInstance(realmConfiguration); 
相關問題