私は、REST APIなどのWebサービスからデータを取得し、それをユーザーに表示するためのアプリケーションを設計しています。
コンテンツプロバイダーAPIで同期アダプターを使用することを考えていました。
- 同期アダプタは、ローカルDBとリモートDB間のデータフローを処理します。
- コンテンツプロバイダーAPIはデータをUIにロードします。
私の質問は、リモートアプリケーションが(Socket.IOなどを使用して)サーバープッシュをサポートしている場合、この機能を活用するようにアプリをどのように設計する必要があるかということです。私が理解している限り、SyncAdapterがいつ実行されるかはSyncManagerによって決定されるためです。そのため、サーバーがプッシュしたときにのみ同期が行われることを保証できません。フォアグラウンドまたはバックグラウンドでアプリケーションを実行しなくても、これが可能かどうかを知りたいと思いました。つまり、同期アダプタが実行されている場合のみです。
返信をよろしくお願いします。
PS:私はAndroidアプリの設計を始めたばかりなので、私が間違っている場合は許して/訂正してください。
ファローアップ:
- クラウドメッセージングAPI(GCMなど)には興味がありません。ユーザーが望む場合は、データを非公開にしたかったのです。