- 2012-10-14 (日) 19:53
- 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」
関連サイト
関連があると思われる記事:
- [Android] 画面の向きを取得
- [Android] エミュレータにアプリインストール
- [Android] 現在日時の取得
- [Android] 音声録音
- [Android] アプリケーション名とアイコン
- Newer: [Android] グルーピング機能付きSpinner
- Older: [開発環境] マルチサーバ
Comments:0
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 ミライニトドケ