2016-11-06 5 views

答えて

-2

ウェブサーバーとアンドロイドアプリの間でデータを同期するには、アンドロイドデバイスにいくつかの異なるコンポーネントが必要です。

永続ストレージ:

これは、お使いの携帯電話は、実際にそれがウェブサーバから受信したデータを保存する方法です。これを達成するための1つの可能な方法は、Sqliteデータベースによってバックアップされた独自のカスタムContentProviderを作成することです。

ContentProviderは、格納されたデータと対話する一貫したインタフェースを定義します。必要に応じて、他のアプリケーションとデータのやりとりを可能にすることもできます。 ContentProviderの背後には、Sqliteデータベース、キャッシュ、または任意のストレージメカニズムがあります。

SqliteデータベースでContentProviderを使用することをお勧めしますが、必要なJavaベースのストレージメカニズムを使用できます。

データ交換フォーマット:

これは、あなたのウェブサーバとあなたのAndroidアプリ間でデータを送信するために使用形式です。最近よく使われる2つのフォーマットは、XMLとJSONです。あなたの書式を選ぶときには、どのような種類のシリアライゼーション・ライブラリが利用できるのか考えるべきです。 gson:http://code.google.com/p/google-gson/と呼ばれるjsonのシリアル化用の素晴らしいライブラリがあると私は知っていますが、同様のライブラリがXML用に存在すると確信しています。

同期サービス

ご自分のサーバから新しいデータを取得し、サーバの内容を反映するために、モバイルコンテンツをリフレッシュすることができ、非同期タスクのいくつかの並べ替えをお勧めします。また、コンテンツをローカルで変更し、それらの変更を反映させたい場合はいつでもサーバーに通知する必要があります。 Androidはこのパターンを簡単に解決する方法としてSyncAdapterパターンを提供します。あなたはユーザーアカウントを登録する必要があります、そして、Androidはあなたのために多くの魔法を実行し、自動的に同期することができます。 http://www.c99.org/2010/01/23/writing-an-android-sync-provider-part-1/

レコードが同じかどうかをどのように識別するかについては、通常、アンドロイドデバイスとサーバーの両方に保存する一意のIDを持つアイテムを作成します。これを使用して、同じ参照を参照していることを確認できます。さらに、 "updated_at"のような列の属性を保存して、常に最新のデータを取得しているか、または新しく書き込まれたデータを誤って書き込まないようにすることができます。

関連する問題