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,是否有一种优雅的方法可以从JSON添加一批新对象,同时考虑到新的组可能包含DB中已经存在的值,并且DB必须只包含唯一的值?为什么不在JSON对象中使用相同的id?,检查是否正在从服务器发送唯一的id,并准备一个方法,用于检查id是否存在 //Check if item exists already with id public boolean checkIfExists(String id){ RealmQuery<Data> query = realm.where(Da

是否有一种优雅的方法可以从JSON添加一批新对象,同时考虑到新的组可能包含DB中已经存在的值,并且DB必须只包含唯一的值?

为什么不在JSON对象中使用相同的id?,检查是否正在从服务器发送唯一的id,并准备一个方法,用于检查id是否存在

//Check if item exists already with id

public boolean checkIfExists(String id){

    RealmQuery<Data> query = realm.where(Data.class)
            .equalTo("id", id);

    return query.count() != 0;
}
//检查是否已存在id为的项
公共布尔checkIfExists(字符串id){
RealmQuery query=realm.where(Data.class)
.equalTo(“id”,id);
返回query.count()!=0;
}

谢谢你的回答。我看到了您建议的方法,但对我来说不是很方便,因为应用程序将从文件中读取大量json。我使用的是
Realm.createAllFromJson(类,InputStream)
方法,在这种情况下非常有用。所以,如果领域引擎本身负责只向存储中添加唯一的值,那就太好了。我们已经准备好了主键,应该可以解决这个问题。然而,在完全实现之前,我们有一些拦截器。所以现在,上述答案是唯一的办法。主键支持的请求可以在这里找到:return语句可以简化为return query.count()!=0;真的!还进一步简化了返回realm.where(Data.class).equalTo(“id”,id).count()!=0;一群简化者:)