-3

Android でのデータの永続性についての推奨事項をお聞きしたいと思います。問題は次のとおりですRESTful API。jackson でカスタム オブジェクトに逆シリアル化された json データを取得する小さなレスト アプリがあり、その後、このオブジェクトを使用します。私のUIにフィードするには、問題は、このデータを永続化するか、少なくともキャッシュ可能にすることです。

使用できるいくつかのオプションがあることを確認しました: ORM-lite オブジェクトを sqlite DB に保存するか、JSON 文字列を共有設定または内部メモリのファイルに保存します。Android 開発者サイトの記事を既に読んでいます。このトピックについて。

オブジェクトの構造には少なくとも 15 のフィールドがあり、他のオブジェクトに関連付けられています。

どちらが良い選択肢でしょうか?

4

2 に答える 2

1

個人的には、JSON 文字列をファイルとしてアプリケーション データ領域に保存することをお勧めします。少なくとも、解析が遅くなるほど大きくないと仮定します。一般に、JSON の解析は非常に高速です。

ただし、この JSON オブジェクトの複数のバージョンを保存する必要がある場合は、おそらく DB が適しています。

この方法で SharedPreferences を使用することはお勧めしません。

于 2012-12-19T21:10:12.340 に答える
0

それは実際には他のいくつかの変数に依存します。

Shared Preferences は反復可能なキーと値のペアには最適ですが、実際にはリレーショナル データ用には設計されていません。また、任意の大規模なデータセットではなく、有限量のデータを保存することも意図しています。たとえば、SharedPref にユーザーの名前を保存しますが、すべてのレベルでユーザーが達成したすべてのスコアの完全な履歴、またはすべてのレベルの定義はおそらく保存されません。

SQLite はリレーショナル データベースであるため、リレーショナル データにははるかに優れていますが、一度に 1 つのオブジェクトだけを保持したい場合はやり過ぎかもしれません。通常、コンテンツ プロバイダーをセットアップする必要がありますが、ORMLite がそれを処理してくれると思います。

したがって、この json オブジェクトのインスタンスを一度に 1 つまたは 2 つだけ保存する場合は、便宜上、おそらく共有設定を使用します。任意に多数のそれらとそれに関連するデータを保存している場合は、SQLite データベース。

于 2012-12-19T21:15:19.753 に答える