5

このビデオで Virgil Dobjanschi によって提示された 2 番目の REST クライアント モデルを実装しようとしています。

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

これは、私が話しているモデルの概要図です。

ここに画像の説明を入力

提案どおりにすべてを実装しましたが、多くのテーブルを含む複雑な SQLite データベース モデルがあり、トランザクションを使用して、サーバーから取得した新しいデータでローカル データを更新する必要があります (図のステップ 7)。

この場合にトランザクション ContentProvider を実装するのに役立つ提案はありますか?

代わりに未加工の SQLite を使用するよう提案する人もいるかもしれませんが、この方法では、ContentProvider によって提供される ContentObservers、managedQueries、およびデータベース アクセスの同期の利点を活用できません。

どんな助けでも大歓迎です。

4

2 に答える 2

2

Level 11 API にアクセスできないため、代わりにこれを行うことができます。update メソッドでこのトランザクションを実行したいとします。

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 に答える