2016-05-19 16 views
0

古典的な問題:サーバ上のデータベースとAndroid上のデータベースの両方を同期させておく必要があります(RESTサービスを使用)。Android同期アダプタを使用した双方向同期

多くの研究の後、Android's Sync Adapterを使用することはかなり良い考えです。 Google's I/O Appについて読んできました。

これらはGCMを使用して同期イベントを実行します。私が間違っている場合は私を修正してください、しかしこれは一方向の同期だけであるようです。

双方向同期にAndroid Sync Adapterを使用する方法はありますか?

+0

「一方向性」を定義しています。なぜそれがAndroid Sync Adapterの観点から「双方向性」と異なるのでしょうか? – njzk2

+0

調査中、Webサービスで同期を実装する方法に関するコードは見たことがありません。チュートリアルやサンプルコードは見つかりましたか? – jublikon

答えて

1

実際の同期ロジックは、同期アダプタによって実行されます。それは、あなたが必要とするものであれば、双方向でも単方向でもかまいません。 この部分はGCMとは関係ありません。

Google I/Oアプリケーションに関しては、GCMのみを使用して、トリガーの同期をアプリに送信します。そうすれば、サーバーはすべてのクライアントに新しいコンテンツを知らせることができ、クライアントは(ほぼ)即座にそれを取得します。

この問題をより洗練された方法で解決するには、GCM(Google Cloud Messaging)を使用します。サーバー側のデータが更新されるたびに、サーバーは登録されているすべてのデバイスにGCMメッセージを送信します。このGCMメッセージを受信すると、装置は同期を実行して新しい会議データをダウンロードする。 GCMIntentServiceクラスは、着信GCMメッセージを処理します。

デバイスのローカル変更時に同期をトリガーするのは通常、データを保持するContentProviderによって行われます。だからそれは問題でもない。

関連する問題