0

Web サービス (果物など) からロードされたいくつかのアイテムを表示するアプリケーションを取得しました。これらの項目はめったに変更されません。また、それらの商品の在庫状況を表示することもできます (例: リンゴの場合、店舗 A では今日 10 kg、明日は 20 kg、...)

ユーザーは、自分の電話でこれらのアイテムの一部をブックマークできます。ユーザーがこれらのアイテムのいくつかをブックマークできるようにし、ブックマークをデバイス間で同期できるようにする必要があります (私は携帯電話でリンゴをブックマークしています。次にタブレットでアプリを開いたときにリンゴがブックマークされていることを期待しています)。

多かれ少なかれ、私は約40個のアイテムを手に入れました。また、各可用性データは合計で約 200 エントリになります。

それを実装するには、どの手法を使用しますか?

これまでの私の考え:

  1. 果物と可用性の sqlite データベースを (contentprovider を使用して) 構築します
  2. この DB を 2/3 日ごとに同期します (これで十分です。これ以上頻繁に行う必要はありません)。
  3. BackupAgent を使用して DB ファイル全体を同期します

データベースはやり過ぎだと思いますか? アプリケーションは常にネットワーク接続で実行されることが期待されます (それ以外の場合は許可されません)。

私の他のオプションは次のとおりです。

  1. アプリケーション起動時の読み込みアイテムと在庫状況
  2. ブックマークは SharedPreferences 内に保持されます
  3. BackupAgent を使用して SharedPreferences のみを同期します

これはそれほど複雑ではなく、同期部分でより効率的です。ただし、それは実際にはクリーンな方法ではなく、将来性が低いと感じています。

4

1 に答える 1

2

Android のバックアップ API は、別のデバイスによって作成されたバックアップに基づいて新しいデバイスを初期化する場合にのみ役立ちます。バックアップ API ドキュメントを参照してください。2 つのデバイスの同期を維持するのは、適切なインフラストラクチャではありません。

Google Play ゲーム サービスのクラウド セーブ機能をご覧になることをお勧めします。2 つのデバイスでデータを同期できます。通常、ゲームで使用されますが、他のシナリオ (あなたのシナリオなど) でも使用できます。

于 2013-09-05T19:54:52.060 に答える