5

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

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

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

在此处输入图像描述

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

您有什么建议可以帮助我为这种情况实施事务性 ContentProvider 吗?

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

任何帮助,将不胜感激。

4

2 回答 2

2

由于您无权访问 Level 11 API,因此您可以这样做。假设您想在更新方法中执行此事务:

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 来指示必须完成的事务。

于 2011-10-19T21:32:36.187 回答
0

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

于 2011-10-19T21:22:40.847 回答