次のような状況にあるプログラムを作成しています。dbに情報がない場合は、dbをチェックするコンテンツプロバイダーにRESTコンテンツプロバイダーを指定する必要があります。
レシピを検索したいので、Activity
はdb ContentProvider
を呼び出します。
レシピはローカルに保存されていないため、Webサービスに呼び出してデータを取得します。
このデータはデータベースに保存されますが、ローカルコピーを保存したくない場合は、後で削除することを選択しますが、インターネットに常時接続せずに買い物をしたり料理したりすることができます。
私のデザインは過度に複雑になっていると思います。
私は現在、RESTサービスを呼び出すService
と、ContentProvider
をデータベースに持っています。
Service
をContentProvider
に置き換えることを検討しています。長期間稼働するサービスはまれにしか実行されないため、不要です。
アクティビティはdb ContentProviderを呼び出し、クエリが空の場合、ActivityProviderはREST ContentProviderを呼び出します。アクティビティはデータの出所を気にする必要がないため、db ContentProviderは活動に戻る前に
私のシナリオではこれが最善のアプローチですか、それともContentProvidersを連鎖させるのが悪いのですか?
これをどのように解決しましたか?私はまったく同じ状況にあり、現在、コンテンツプロバイダからサービスを開始する方法(REST用のサービスの使用を好む)はわかりません。 – Ixx
ああ...これはもっと情報的かもしれない:http://stackoverflow.com/questions/9112658/google-io-rest-design-pattern-finished-contentprovider-and-stuck-now – Ixx
@Ixx - 私はそれを棚上げした私はそれをまだ解決していませんが、暦年の終わりまでにそれに戻ることを期待しています。 –