Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android上的领域:保持数据库逻辑独立_Android_Realm - Fatal编程技术网

Android上的领域:保持数据库逻辑独立

Android上的领域:保持数据库逻辑独立,android,realm,Android,Realm,我曾经处理从领域复制的非自动管理的模型对象。我在新项目中使用了自动管理的领域对象,但遇到了一个问题 在我可以将DB逻辑分开之前,在DAO类中,现在,领域代码遍布我的应用程序 领域对象应该在任何地方、每个线程、每个活动和片段上得到良好的管理(关闭)。但我最不喜欢的是:每个模型对象上的每个setter都需要在一个领域事务中。现在我的代码中到处都是领域 在使用自动管理的领域对象时,是否有人找到一种方法使DB逻辑保持一定的独立性?我所做的是创建了一个RealmController类,该类处理我的所有领域

我曾经处理从领域复制的非自动管理的模型对象。我在新项目中使用了自动管理的领域对象,但遇到了一个问题

在我可以将DB逻辑分开之前,在DAO类中,现在,领域代码遍布我的应用程序

领域对象应该在任何地方、每个线程、每个活动和片段上得到良好的管理(关闭)。但我最不喜欢的是:每个模型对象上的每个setter都需要在一个领域事务中。现在我的代码中到处都是领域


在使用自动管理的领域对象时,是否有人找到一种方法使DB逻辑保持一定的独立性?

我所做的是创建了一个RealmController类,该类处理我的所有领域事务,并从API获取新数据。实现的框架是从另一篇SO文章中借来的,我现在找不到,但是你应该可以通过搜索RealmController在Google上找到它

公共类RealmController{
私有静态RealmController实例;
私人最终领域;
私有服务接口;
私有最终字符串标记=“RealmController”;
私有静态布尔browseFetchAllowed=true;
private RealmConfiguration config=new RealmConfiguration.Builder()
.name(“myRealm”)
.schemaversation(0)
.DeleteRealMifMigrationRequired()
.build();
公共RealmController(应用程序){
restInterface=ServiceGenerator.createService(ServiceInterface.class);
realm=realm.getInstance(配置);
}
public void setAuthentication(字符串令牌、字符串uid){
this.restInterface=ServiceGenerator.createService(ServiceInterface.class,令牌,uid);
}
带有(片段)的公共静态RealmController{
if(实例==null){
实例=新的RealmController(fragment.getActivity().getApplication());
}
返回实例;
}
具有(活动)的公共静态RealmController{
if(实例==null){
instance=newrealmcontroller(activity.getApplication());
}
返回实例;
}
带有(应用程序)的公共静态RealmController{
if(实例==null){
实例=新的RealmController(应用程序);
}
返回实例;
}
公共RealmController getInstance(){
返回实例;
}
公共服务接口getRestInterface(){
返回REST接口;
}
公共领域getRealm(){
回归境界;
}
public RealmResults getStuff(){
返回realm.where(MyRealObject.class).findAll();
}
公共无效设置凝灰岩(RealmList stuff){
realm.beginTransaction();
realm.copyToRealmOrUpdate(stuff);
realm.commitTransaction();
}
public void getStuffFromServer(){
restInterface.getStuff().enqueue(新回调()函数){
@凌驾
公共void onResponse(调用、响应){
if(response.issusccessful()){
realm.beginTransaction();
realm.copyToRealmOrUpdate(response.body);
realm.commitTransaction();
}
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
t、 printStackTrace();
}
});
}

}
我所做的是创建了一个RealmController类,该类处理我的所有领域事务,并从API获取新数据。实现的框架是从另一篇SO文章中借来的,我现在找不到,但是你应该可以通过搜索RealmController在Google上找到它

公共类RealmController{
私有静态RealmController实例;
私人最终领域;
私有服务接口;
私有最终字符串标记=“RealmController”;
私有静态布尔browseFetchAllowed=true;
private RealmConfiguration config=new RealmConfiguration.Builder()
.name(“myRealm”)
.schemaversation(0)
.DeleteRealMifMigrationRequired()
.build();
公共RealmController(应用程序){
restInterface=ServiceGenerator.createService(ServiceInterface.class);
realm=realm.getInstance(配置);
}
public void setAuthentication(字符串令牌、字符串uid){
this.restInterface=ServiceGenerator.createService(ServiceInterface.class,令牌,uid);
}
带有(片段)的公共静态RealmController{
if(实例==null){
实例=新的RealmController(fragment.getActivity().getApplication());
}
返回实例;
}
具有(活动)的公共静态RealmController{
if(实例==null){
instance=newrealmcontroller(activity.getApplication());
}
返回实例;
}
带有(应用程序)的公共静态RealmController{
if(实例==null){
实例=新的RealmController(应用程序);
}
返回实例;
}
公共RealmController getInstance(){
返回实例;
}
公共服务接口getRestInterface(){
返回REST接口;
}
公共领域getRealm(){
回归境界;
}
public RealmResults getStuff(){
返回realm.where(MyRealObject.class).findAll();
}
公共无效设置凝灰岩(RealmList stuff){
realm.beginTransaction();
realm.copyToRealmOrUpdate(stuff);
realm.commitTransaction();
}
public void getStuffFromServer(){
restInterface.getStuff().enqueue(新回调()函数){
@凌驾
公共void onResponse(调用、响应){
if(response.issusccessful()){