Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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 contentprovideroperations插入或更新_Android_Android Contentprovider - Fatal编程技术网

Android contentprovideroperations插入或更新

Android contentprovideroperations插入或更新,android,android-contentprovider,Android,Android Contentprovider,我已经为android应用程序实现了自己的contentprovider。我正在使用contentprovideroperations进行批处理。我希望有类似于放入web请求的操作,其中,如果条目存在,那么它会得到更新,如果它不存在,那么它会像POST请求一样被插入。contentprovideroperations中有单独的newInsert和newUpdate方法 一种方法是首先更新并检查条目是否存在,如果不存在,则插入新元素。但是,由于我正在批量添加所有操作,以便稍后一起处理它们,所以我无

我已经为android应用程序实现了自己的contentprovider。我正在使用contentprovideroperations进行批处理。我希望有类似于放入web请求的操作,其中,如果条目存在,那么它会得到更新,如果它不存在,那么它会像POST请求一样被插入。contentprovideroperations中有单独的newInsert和newUpdate方法


一种方法是首先更新并检查条目是否存在,如果不存在,则插入新元素。但是,由于我正在批量添加所有操作,以便稍后一起处理它们,所以我无法这样做。因此,我需要一个插入/更新的单行操作。

我找到了一个临时可行的修复程序,我将始终使用newInsert操作以及sqlite中的on conflict replace作为主键

"PRIMARY KEY("id") ON CONFLICT REPLACE"
因此,如果我要添加一个新条目,它将根据newInsert的用法添加该条目,如果主键id已经存在,那么它将用新条目替换旧条目