私は配列リストを持っています。それらを永続データとして保存する必要があります。どうすればアンドロイドでこれを達成できますか? 共有設定は役に立ちますか?
3 に答える
データの内容とそれをどうするかによって、いくつかの方法があります。SharedPrefs、SQLite DB、および内部ストレージはすべてオプションです。しかし、私が言ったように、それはあなたがやろうとしていることに依存します. ドキュメントはこれらすべてを説明しており、自分に最も適したものを決定する必要があります.
コードマジックに同意します。それは、データが何であり、それをどうするかによって異なります。
以下は、どの時点でどのストレージ オプションを使用するかについての簡単な説明です。
共有設定:これらは基本的に、アプリケーションの設定やその他の小さなデータを保存するのに適しています。SharedPreferences は、特定のキーの下にデータを保存できるキー/値ストアです。ストアからデータを読み取るには、データのキーを知っている必要があります。そのため、データの読み取りが容易になります。ただし、大規模なデータ セットの場合、データセット内のすべてのキーに対して一意のキーを定義する必要があるため、少し難しくなる可能性があります。例: ユーザー ログイン用のセッション キーを SharedPreferences に格納します。
内部ストレージ: これは、ユーザーがアクセスする必要のないアプリケーション データの保存に適しています。ログまたはアプリケーションが作成/更新/削除するものを保存するのに適している可能性があります。
SQLite : データベースはこの種のデータ用に設計されているため、大量の同じ構造化データを SQLite データベースに格納する必要があります。データはデータベースによって構造化および管理されるため、SQL などのクエリ言語を使用してクエリを実行し、特定の条件に一致するデータのサブセットを取得できます。ここで検索が簡単になります。SQLite は専用データベースほど大きくは拡張できないかもしれませんが、Android アプリなどの小規模なアプリケーションでは非常に迅速で便利です。例: リストビュー アイテムの保存、またはレシピ アプリのレシピの保存。
お役に立てれば!!!
SharedPreference.Editorクラスにはいくつかまたはメソッドがないため、単純な方法で (とにかく) ArrayListにSharedPreferencesを使用できるとは思いません。putObject()
putSerializable()
しかし、他にもいくつかのストレージ オプションがあります。