ここに示されているパターンを使用しています:http ://www.youtube.com/watch?v = xHXn3Kg2IQE (ただし、わずかに変更されています。変更は、この質問にひどく関連するものではありません)。
状況は次のようになります。アクティビティはContentProviderにリソースを照会します。ContentProviderは、現在ローカルDBにあるタプルをすぐに返し、RESTメソッドを開始し、サーバーからContentObserverに新しいデータを返すことができます。
しかし、これは私には少し奇妙に感じます。なぜなら、2つの場所でデータを処理する必要があるからです。1つはローカルDB用で、もう1つはRESTメソッドが完了したときです。もちろん、それを処理するためのメソッドを作成することもできますが、それでも役立ちますか?実際にコンテンツを変更せずにContentObserverを手動でトリガーできた場合、データの処理はContentObserver内の1か所でのみ発生します。これは可能ですか?
次に、アクティビティはContentProviderにクエリを実行し、ローカルデータベースのリソースを使用してContentObserverをトリガーします。Webサービスが照会され、RESTメソッドが完了すると、ContentObserverが再度トリガーされます(ローカルデータベースで既に利用可能なデータに加えて、Webサービスからのデータもあるため)。
可能であれば、ContentProviderから返されるカーソルが空/ヌルになる可能性があるため、ContentProviderへのクエリの開始は少し厄介になりますが、すべてを1か所で処理できる場合は受け入れられませんか?