我正在实施一个应用程序,该应用程序在使用Realm的某些点(不相关)保留数据。例如:领域:在应用程序中使用一个或多个领域(以及一个或多个模式)
- 保存用户偏好的项目。
- (该应用程序有一个聊天)保存聊天对话和最近的常量
- 实现对应用程序
- 保存最近的搜索/形式的一些请求持久性高速缓存,以提供自动完成
(让我们将每个点命名为模块/包)
每个模块/包都有一些RealmObjects
要保留。我应该如何组织这个?从视图代码清洁,性能或什么的时候,我应该关心
选项A:使用唯一的(默认)领域具有独特的模式:
使用Realm.getInstance(context)
访问到正确的RealmObjects
在每个模块/包
选项B:使用多个域与默认模式
为每个模块中使用的领域(使用默认模式)在RealmConfiguration
中指定一个不同的名称。
由于数据属于应用程序的不同部分,而且互相隔离且不互连,因此请为每个模块使用不同的领域名称。
选项C:使用多个领域和范围的每个应用程序包 的模式中使用的模型类指定名称和每个分离的包的模式。在例如:
public static Realm getChat(Context context){
RealmConfiguration config = new RealmConfiguration.Builder(context)
.name("chat.realm")
.schemaVersion(1)
.setModules(new ChatRealmModule())
.build();
return Realm.getInstance(config);
}
// Create the module
@RealmModule(classes = { ChatRoom.class, ChatMessage.class, ChatUser.class})
public static class ChatRealmModule{
}
选项d:其它?