今天我要切换到realm,我想知道realm配置的确切目的。
假设我有两个利用领域的活动。
在获取领域的默认实例时,我必须指定realmconfiguration。在我的两个活动中,每次都要打这个电话吗?它到底是做什么的?这是我的数据吗?例如,我应该在application类中声明一次吗?
// Create a RealmConfiguration that saves the Realm file in the app's "files" directory.
RealmConfiguration realmConfig = new RealmConfiguration.Builder(this).build();
Realm.setDefaultConfiguration(realmConfig);
我试着搜索领域,但找不到答案。
非常感谢你的帮助,
最佳答案
在获取领域的默认实例时,我必须指定realmconfiguration。在我的两个活动中,每次都要打这个电话吗?
你可以,但你不应该。
例如,我应该在application类中声明一次吗?
对。
public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
RealmConfiguration realmConfiguration = new RealmConfiguration.Builder(this)
.build();
Realm.setDefaultConfiguration(realmConfiguration);
}
}
然后你可以在你的应用程序中的任何地方这样说。
Realm realm = Realm.getDefaultInstance();
它将使用您在应用程序类中设置的realmconfiguration进行配置。
它到底是做什么的?这是我的数据吗?
它不是您的数据,而是您的数据的配置。例如,数据库文件的名称、架构的版本、数据是否加密、如何处理迁移到新架构版本等。请参阅更多选项here。
如果应用程序中有多个领域文件,则可以使用多个领域配置。每人一个。不过,在你的应用程序中只有一个领域文件是很正常的。