2012-04-21 8 views
0

私はインストールのためにさまざまなソフトウェアを提供するAndroidマーケット(今はGoogle Play)と非常によく似たAndroidアプリケーションを開発しています。違いは、インターネット接続がない場合でもユーザーがアプリケーションを参照できるようにすることです。つまり、ローカルデータベースにデータを格納する必要があります(ここではsqliteを使用します)。このデータは定期的に更新する必要があります。
今私の質問はこれです。最高のパフォーマンスと可用性を得るために、この更新メカニズムをどのように実装する必要がありますか?
私は以下の通りであるいくつかのオプションを持っていると思う:ソフトウェアのカタログ作成アプリケーションに最適な更新メカニズムは何ですか?

  1. は、データベース全体を毎回更新します。このようにして、更新されたコンテンツを得るたびに毎回すべてのレコードをダウンロードする必要があります。
  2. 追加された日付に基づいてデータを更新します。これは良い方法だと思われますが、以前に追加されたコンテンツが編集される可能性があり、このアプローチでは省略されています。また、アイテムの一部が削除されている可能性があります。

これらは私が行うことができますが、私は上に行くための最良の方法であるかわからない考えたものでした!また私はここで働くかもしれない他の提案に開いています。

+0

どの版の日付を格納でしょうか?次に、どのレコードを更新する必要があるかを知っています。 – assylias

+0

sqliteにレコードidが見つかった場合は更新できます。それ以外の場合はデータを挿入することができます。これによってデータと新しいデータを更新できます。 – dreamcoder

+0

ええwaht @dreamcoderによると、各レコードに一意の識別子を与え、リストを保持するだけです。そうすれば、各データベースの内容と更新が必要なことを知ることができます。 – Blundell

答えて

1

私の懸念は、あなたのサーバー側のデータベースのリスナーを置いて、データレコードが変更、追加、または削除されたときに通知される場合です。また、WebサービスまたはGoogle Android C2DM Serviceを使用すると、サーバーから特定のデータベースレコードを更新するようにアプリケーションに通知します。

(私が間違っているか、実装は簡単のためにも利用可能な他の方法があります)

+0

私はそれがあなたのdaddysの意見だとは思わなかった:-) – Blundell

関連する問題