首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用谷歌IO REST模式的ContentProvider进行SQLite事务?

问使用谷歌IO REST模式的ContentProvider进行SQLite事务?
EN

Stack Overflow用户
提问于 2011-10-20 05:17:44
回答 2查看 1.6K关注 0票数 5

我正在尝试实现Virgil Dobjanschi在此视频中提出的第二个REST客户端模型:

http://developer.android.com/videos/index.html#v=xHXn3Kg2IQE

这是我正在讨论的模型的高级图:

​

​

我按照建议实现了所有功能,但是我有一个包含许多表的复杂SQLite数据库模型,并且我需要使用事务来使用从服务器检索到的全新数据来更新本地数据(图中的步骤7)。

你有什么建议可以帮助我在这种情况下实现事务性ContentProvider吗?

你们中的一些人可能会建议我使用原始的SQLite,但这样我就不会利用ContentObservers、managedQueries和ContentProvider提供的数据库访问同步的优势。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2011-10-20 05:32:36

因为你不能访问11级API,所以你可以这样做。假设你想在你的update方法中完成这个事务:

代码语言:javascript
复制
final Cursor update(Uri uri, ContentValues values, String where, String[] selectionArgs)
{

   if(uri == uri1){
     //do stuff you normally do
   }
   //other uri stuff
   ...
   else if(uri == special_uri){
     //do your transaction stuff here
   }
}

在本例中,special_uri是一个uri,用于指示您将需要执行特殊的事务处理。换句话说,我们在这里使用URI来指示必须完成事务。

票数 2
EN

Stack Overflow用户

发布于 2011-10-20 05:22:41

您可以在执行必要事务ContentProvider中实现自定义函数。然后,您可以使用处理器中的call()函数调用这些函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7828292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档