实现ContentProviderOperation的替换

时间:2012-09-07 15:31:25

标签: android sqlite android-contentprovider

我目前正在使用SQLiteDatabase.replace更新数据库中的某些行。我正在迁移到ContentProvider,我正在尝试用等效的ContentProviderOperation替换这些语句。有更新,删除和插入的工厂方法,但没有newReplace。我猜这是因为文档说SQLiteDatabase.replace是一种方便的方法,只有在主键匹配时才替换行,否则它会添加一个新的。但是,我不明白幕后发生了什么。我假设如果我只是delete然后insert它会比replace效率低,那是正确的吗?

如何使用SQLiteDatabase.replace模仿ContentProviderOperation的功能?

1 个答案:

答案 0 :(得分:0)

这看起来很有希望(至少在我的用例中):Android Contentprovider - update within an insert method。基本上我需要更改ContentProvider中的insert()以在失败时进行更新。