1

Java オブジェクトを にシリアライズおよびデシリアライズするライブラリであるDroidPrefsを作成しましたSharedPreferences

次のようにオブジェクトを保存します。

Animal newAnimal = new Animal("Gitty", "Octocat", 8);
DroidPrefs.instance(context).put("animal", newAnimal).apply();

DroidPrefs.instance(Context)が呼び出されるたびに、次のことを行っています。

mPrefs = PreferenceManager.getDefaultSharedPreferences(context);
mEditor = mPrefs.edit();

私の質問は、SharedPreferencesファイルのように機能しますか? 読み取りと書き込み時にのみ開く必要がありますか?それとも、アプリの開始時に開き、コードの他の部分がアクセスすることを心配する必要はありませんか?

4

1 に答える 1

1

SharedPreferences はデータを XML ファイルに保存します [共有設定はどこに保存されますか? あまりにも]、したがって、実際にファイルのように機能します。File IO と比較して、Android でプリミティブ データを保存および取得する最適化された方法です。

共有設定へのアクセスに関する 2 番目の質問: 必要なときに開き、不要なときに閉じることをお勧めします。ただし、SharedPreferences へのアクセスを管理してすっきりとしたデザインにするシングルトン クラス (複数の共有設定の場合はファクトリ パターンである可能性があります) を使用することもできます。

于 2013-06-20T07:11:23.707 に答える