android - 其他类中的 RealmConfiguration

标签 android realm

我在用我的 android 代码打开和写入 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 的 Activity 中打开它们

我知道 Realm.getDefaultInstance() 但是,有两个配置,所以我不能使用 Realm.setDefaultInstance()


您可以说在SecondActivity 中声明realmA 和realmB。但是,问题是每次修改架构后我都应该修改 RealmConfiguration,例如将 schemaVersion 1 更新为 2 等。这让我很困扰。:((如果有大量的 Activity ,我应该修改大量的..)

在其他类中使用RealmConfiguration有什么好的方法吗?

最佳答案

您应该将配置放在 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;
    }
}

然后在您的 list 文件中添加

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

要访问您的配置,您可以在 MyApplication 类中创建一个 get inside 并将其与 cast 一起使用

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

关于android - 其他类中的 RealmConfiguration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45453228/

相关文章:

java - 硬件加速的 webview 滑入式动画在 ICS 上闪烁

java - Android Studio 不让我编译特定项目

java - 我的闹钟应用程序不会显示闹钟通知或播放闹钟声音?

ios - Realm :在不更新现有子对象的情况下更新/设置关系

java - 共享首选项中的 Collection 按钮 Android

android - 如何移除微调器中的分隔线?

ios - 如何将每种食物添加到 Realm 中自己的食物类别?

ios - Realm 写入中的不一致行为

java - Android Realm getInstance 性能

objective-c - 根据 RLMArray 项属性查找对象