Android 仅向领域添加唯一值
是否有一种优雅的方法可以从JSON添加一批新对象,同时考虑到新的组可能包含DB中已经存在的值,并且DB必须只包含唯一的值?为什么不在JSON对象中使用相同的id?,检查是否正在从服务器发送唯一的id,并准备一个方法,用于检查id是否存在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
//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;一群简化者:)