2011-10-26 8 views
15

私のアプリケーションで複数のテーブルを同期させる方法が混乱しています。複数のテーブルを同期アダプタとコンテンツプロバイダと同期させることについて混乱しています

私は1つのコンテンツプロバイダがあり、複数のテーブル(イベント、ユーザ、など)を持っていきます。私はまた、アプリが通信するはずの休憩サーバを持っています。私は、各テーブルの複数の接続(put、get、post、delete)を処理するベストプラクティスが何であるか疑問に思っています。また、1人のユーザーが1つのイベントに参加することができるような関係も持ちますが、イベントの所有者でもあります。だから私は、そのユーザーにユーザーと所属イベントを作成した場合、私はユーザーをアップロードするか、ユーザーに関するサーバーから情報を取得し、ユーザーに関する情報をイベントにアップロードし、その情報を取得してから、新しいイベント情報を持つユーザー。

これらの問題を解決する最善の方法は何ですか?同期する必要があるすべてのデータを集計するメソッド(http://example.com/sync)を作成する必要がありますか?または私はちょうど15-20の要求に固執する必要がありますか?

+0

[これは助けになることができる(http://stackoverflow.com/questions/3814005/best-practices-for-exposing-multiple-tables-using-content-providers-in-android) – Reno

+0

それは私の質問に正確に答えません。あなたが共有したリンク(感謝)は、内部的に残りのアンドロイドシステムをコンテンツプロバイダーに公開することです。私の質問は、データを外部と同期させる方法と、データを送受信するサーバーとの最も効率的な接続を確立する方法です。 – jonepatr

+0

ええ、私はSyncAdaptersを使っていないのは残念ですが、あなたの質問をアップアップするつもりです。 – Reno

答えて

6

Google I/O 2010 - Android REST client applicationsの動画を視聴することをおすすめします。 うまく設計されたアプリケーションの同期アプリケーションを作成するための概念と推奨パターンの一部を紹介しています。

私は個人的に多くの質問に答えました。

this presentationもご覧ください。このプレゼンテーションとSDKに付属しているシンクアダプタサンプルに加えて、次のリストは、シンクアダプタを手に入れようとする際の弾薬となります。

2

すべては、同期するデータの量によって異なります。それはテキストデータのみではなく、多くのなら

、あなたはすべてを一度に同期する必要があります。私はそれをすべてjsonにエンコードし、圧縮してサーバーに送信することをお勧めします(ここで解凍し、解析して保存します)。 Jsonは、軽量で、androiで作成するのが簡単で、ほぼすべての種類のサーバーで解析できます。あなたが画像を同期したい場合は

、あなたは、接続が低下した場合に保存された部分的進歩を持っていることを確認することを1つずつそれらを同期したほうが良いと思います。

7

Evernoteは独自のEDAMプロトコルで同様の問題を解決しました。探し求める価値がある。

Evernote EDAM

関連する問題