Home > Android > [Android] プリファレンスでデータ保存

[Android] プリファレンスでデータ保存

AndroidではファイルやDBなどデータを保存する仕組みがいくつかありますが、ユーザー名やパスワードなどのアプリケーション内部で使うちょっとしたデータを保存する程度であればプリファレンスを使うことをお勧めします。

プリファレンスは大規模なデータ保存には向きませんが、ファイルやDBを使うよりも簡単にデータの読み書きができます。
 

 

設定保存

PreferenceManager#getDefaultSharedPreferences() でSharedPreferencesオブジェクトを取得、更にこのオブジェクトの edit() でEditorオブジェクトを取得します。

SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
Editor editor = pref.edit();

 
Editorクラスには各データ型に対応した設定メソッドが用意されています。
主要な設定メソッドは以下の通りです。

メソッド 説明
戻り値
SharedPreferences.Editor putBoolean (String key, boolean value) boolean値を設定する。
SharedPreferences.Editor putFloat (String key, float value) float値を設定する。
SharedPreferences.Editor putInt (String key, int value) int値を設定する。
SharedPreferences.Editor putLong (String key, long value) long値を設定する。
SharedPreferences.Editor putString (String key, String value) String値を設定する。

 
いずれのメソッドも第1引数にキー、第2引数に設定値を渡すようになっています。
キーというのは個々のデータを識別するための任意の文字列で、読み込み時はこのキーを指定して対象データを引っ張ってくることになります。
 

上記メソッドでデータ設定した後、commit() を呼び出すことでプリファレンスが保存されます。

public void save() {
    //==== Editorオブジェクトを取得 ====//
    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
    Editor editor = pref.edit();

    //==== データ設定 ====//
    editor.putString("キー", "保存値");

    //==== 確定 ====//
    editor.commit();
}

 

設定読み込み

保存時と同様で PreferenceManager#getDefaultSharedPreferences() でSharedPreferencesオブジェクトを取得します。
 
SharedPreferencesクラスには各データ型に対応した取得メソッドが用意されているので、取得対象とするデータに合わせて適切なメソッドを使用します。

主要な取得メソッドは以下の通りです。

メソッド 説明
戻り値
boolean getBoolean (String key, boolean defValue) プリファレンスからboolean値を取得する。
float getFloat (String key, float defValue) プリファレンスからfloat値を取得する。
int getInt (String key, int defValue) プリファレンスからint値を取得する。
long getLong (String key, long defValue) プリファレンスからlong値を取得する。
String getString (String key, String defValue) プリファレンスからString値を取得する。

 
いずれのメソッドも第1引数に保存時に設定したキー、第2引数にデフォルト値を渡します。

public void load() {
    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
    String hoge = pref.getString("キー", "デフォルト値");
}

 

保存場所

プリファレンスのデータはXML形式で保存され、ファイル本体は以下の場所に格納されます。
「/data/data/[パッケージ名]/shared_prefs/[ファイル名].xml」
 

関連サイト

Developers:SharedPreferences
 
 

関連があると思われる記事:

このエントリーをはてなブックマークに追加
はてなブックマーク - [Android] プリファレンスでデータ保存
Facebook にシェア
[`google_buzz` not found]
[`yahoo` not found]
[`livedoor` not found]
[`friendfeed` not found]
[`tweetmeme` not found]
[`grow` not found]

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://gacken.com/wp/program/android/1034/trackback/
Listed below are links to weblogs that reference
[Android] プリファレンスでデータ保存 from ミライニトドケ

Home > Android > [Android] プリファレンスでデータ保存

Search
Feeds
Meta
人気の記事

Return to page top