2017-02-14 63 views
8

訪問,並添加依賴和插件,一切都很好,但是當我在= RealmConfiguration.Builder的部分把這個Builder(android.content.Context)'在'io.realm.RealmConfiguration.Builder'中未公開。不能從外面包

private void setUpRealmConfig(){ 


    RealmConfiguration config = new RealmConfiguration.Builder(getApplicationContext()).deleteRealmIfMigrationNeeded().build(); 
    Realm.setDefaultConfiguration(config); 
} 

。我得到這個錯誤:

Builder(android.content.Context)' is not public in 'io.realm.RealmConfiguration.Builder'. Cannot be accessed from outside package

我不知道該怎麼做。

+0

[項目的Android境界初始化]的可能的複製(http://stackoverflow.com/questions/39972224/android-realm-initialization-in-project) –

+2

cuz它應該但是'Realm.init(context); RealmConfiguration config = new RealmConfiguration.Builder()。deleteRealmIfMigrationNeeded()。build();' – EpicPandaForce

回答

2

看起來像構造函數已被棄用。嘗試使用這個來代替:

RealmConfiguration config = new RealmConfiguration.Builder().deleteRealmIfMigrationNeeded().build(); 
25

如果我沒有記錯,因爲境界的2版本,你需要通過方面通過調用init()方法令。

  1. 需要調用境界
  2. init()你可以建立你的境界配置

private void setUpRealmConfig(){ 

    // initialize Realm 
    Realm.init(getApplicationContext()); 

    // create your Realm configuration 
    RealmConfiguration config = new RealmConfiguration. 
            Builder(). 
            deleteRealmIfMigrationNeeded(). 
            build(); 
    Realm.setDefaultConfiguration(config); 
} 
+2

@Dskato,如果它有幫助,你可以接受答案。 https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Sergey

8

在境界,我們不傳遞任何參數設置Builder.To境界配置設置我們只需調用Builder初始化。

對於如: -

Realm.init(getApplicationContext()); 

    RealmConfiguration realmConfiguration = new RealmConfiguration.Builder() 
       .name(Realm.DEFAULT_REALM_NAME) 
       .schemaVersion(0) 
       .deleteRealmIfMigrationNeeded() 
       .build(); 
    Realm.setDefaultConfiguration(realmConfiguration); 
相關問題