0

この問題について同様の質問がたくさんありますが、私の質問について明確な点があります。

私は Android 開発の初心者で、以前は小さなサイズのデータ​​を保存する小さなアプリケーションを開発していました。たとえば、国のリスト、カレンダー、誕生日のリマインダーなどです。小さなデータを 1 つの XML ファイルに保存し、簡単な方法で解析しました。私にはこれで十分でした。しかし、私のモバイル アプリケーション開発コースでは、膨大な静的データを格納するプロジェクトを取りました。

私のプロジェクトの仕様は次のようになります:

  • エンティティは約 200 あります。
  • 各エンティティには、テキスト形式で保存された約 20 のサブカテゴリがあります。
  • 各サブカテゴリには約 30 のサブカテゴリがあり、テキスト形式で再度保存されます。
  • また、親エンティティごとに2〜3個の画像があります

簡単に計算すると、アプリケーション用に 200 X 20 X 30 = 120.000 の静的データを格納する必要があり、データは変更されません。これは、アプリケーションをインストールして使用するだけです。オンライン データのやり取りは必要ありません。(データに変更がある場合は、長期にわたってメジャーアップデートをリリースします。)

保管方法について質問です。

どの方法を選択すればよいですか?SQLite または XML 解析? あなたの答えとして、あなたの選択の長所/短所を説明できますか?

4

1 に答える 1

1

必ずしも現実的ではありませんが、興味深いプロジェクトです。

大量の「静的」データを管理するには、データベースが必要です。XML 解析では、データをメモリに保存する必要があります。つまり、定期的にデータをメモリに読み込む必要があります。ユーザーがアプリにアクセスしたときのメモリ内データは数え切れないことに注意してください。Android が以前にアプリを破棄した可能性があります。

一方、ディスク上の SQLite データベースをアプリから直接使用できます。アプリがなくなっても永続的です。アプリをインストールするときに、データベースを一度ロードする必要があります。

SQLite データベースをコンテンツ プロバイダーにラップすることを検討してください。これにより、とりわけ、CursorLoader を使用して非同期クエリを実行できるようになります。

于 2013-04-05T19:44:23.440 に答える