Android - Realm - 正确使用Realmconfiguration

Isa*_*lle 2 android realm

今天我转向Realm,我想知道RealmConfiguration的确切目的.

让我们假设我有两个使用Realm的活动.

获取Realm的defaultInstance时,我必须指定RealmConfiguration.我每次参加两项活动都需要打电话吗?它究竟做了什么?这是我的数据吗?我应该在应用程序类中声明一次吗?

// Create a RealmConfiguration that saves the Realm file in the app's "files" directory.    
RealmConfiguration realmConfig = new RealmConfiguration.Builder(this).build();
Realm.setDefaultConfiguration(realmConfig);
Run Code Online (Sandbox Code Playgroud)

我试图搜索Realm,但找不到答案.

感谢你的帮助,

Tim*_*Tim 10

获取Realm的defaultInstance时,我必须指定RealmConfiguration.我每次参加两项活动都需要打电话吗?

你可以,但你不应该.

我应该在应用程序类中声明一次吗?

是.

public class MyApp extends Application  {

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

        RealmConfiguration realmConfiguration = new RealmConfiguration.Builder(this)
                .build();
        Realm.setDefaultConfiguration(realmConfiguration);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以在你的应用程序的任何地方说这个.

Realm realm = Realm.getDefaultInstance();
Run Code Online (Sandbox Code Playgroud)

它将使用您在应用程序类中设置的RealmConfiguration进行配置.

它究竟做了什么?这是我的数据吗?

它不是您的数据,而是您数据的配置.例如,数据库文件的名称是什么,模式是什么版本,数据是否加密,应该如何处理到新模式版本的迁移等.请在此处查看更多选项.

如果您的应用中有多个Realm文件,则可以使用多个RealmConfiguration.每个一个.尽管在您的应用中只有一个Realm文件,这是完全正常的.