11

私はSQLiteを使用するアプリの辞書の種類を作っています。私は外国語とその翻訳のペアを保持する単一のテーブルを持っています。私は同期この表には特定のスプレッドシートGoogleドキュメントでしたい。Android Sync Sqlite

私はこのawesome libraryを検索して操作するために、GoogleSpreadsheetsを検索して操作するため、少なくともそれについてはカバーしています。しかし、私は同期については気にしません。さて、

  1. 私はSyncAdapterは私SQLiteGoogleSpreadsheetの間で、この同期を行うために使用することはできますか?はいの場合は、どうすればいいですか? onPerformSyncまたはスムーズでスプレッドシートの行を取得して操作することはできますか?
  2. このようなシナリオの他の選択肢は何ですか?ユーザーがそれを要求したときにチェックを行うために通常のサービスを使用すべきであろうか(例えば、メインアクティビティで)? (特にAndroid REST client apps上)GoogleのI/O分割動画で

彼らはSyncAdapterを使用するためのかなり説得力のあるように見えるが、私はそれが実際のRESTサービスなしで私を助けることができるかどうかわからないです。

事前のおかげで... AndroidのSyncAdapterContentProviderSyncManagerを使用する

+1

この質問を参照してください。あなたの問題に対する答えがあります。 http://stackoverflow.com/questions/6314977/how-can-i-sync-my-android-sqlite-database-with-a-database-on-a-server-using-json –

答えて

1

一つの良い理由は、バッテリの寿命や他のリソースを保存するために有用である、Googleのシステム知識の恩恵を受けることです。このコンテンツの一部は、あなたがリンクしているビデオの中にあります。たとえば、指数バックオフロジックを使用して、同期時の無駄な試行を防ぎます。明示的に言及されていないが、今日のGoogle I/O 2012 talk "Making Good Apps Great: More Advanced Topics for Expert Android Developers."にセル無線の電力を節約することにより、バッテリ寿命の保全についてのいくつかの良い情報があり

、私はSyncManagerがこのビデオに記載されているバッテリー節約性質を持っている可能性があると思います。

APIと他のリソース(例えば、com.example.android.samplesyncパッケージ)を読む(実際には何も実装していない)ことに基づいて、パターンはプログラムのニーズに適応するほど柔軟であるようです。

私のチームはアンドロイドアプリのカスタム同期を実装していますが、私たちはWebViewでできるだけ多くのロジックを書くことを約束していたので、このオプションは考慮していなかったとお伝えします。必ずしもそれを推奨するとは限りませんが、ここではその範囲を超えています。