****未完成****
SharedPreferencesとは
- データを保存する方法のひとつ。Android端末の内部的にキーと値をHashMapとして保持し、XMLファイルとして出力をする。
- 保存した情報はモードの指定次第で別アプリからもデータを取得することができる。
ファイルのモードは以下の4つ
・MODE_PRIVATE
ファイル作成モード(デフォルトのモード)
getSharedPreferences を呼んだ(= ファイルを作成した) アプリケーションからのみアクセスできる(ただし、同じ user ID を共有しているアプリケーションもアクセスできる)
getSharedPreferences を呼んだ(= ファイルを作成した) アプリケーションからのみアクセスできる(ただし、同じ user ID を共有しているアプリケーションもアクセスできる)
・MODE_WORLD_READABLE
ファイル作成モード
他の全てのアプリケーションが読み込みアクセス権限をもつ
他の全てのアプリケーションが読み込みアクセス権限をもつ
・MODE_WORLD_WRITEABLE
ファイル作成モード
他の全てのアプリケーションが読み込みアクセス権限をもつ
・MODE_MULTI_PROCESS
SharedPreference の読み込みフラグ
た とえプロセス内ですでに shared preferences インスタンスがロードされていても、編集のためにディスク上のファイルをチェックする。複数のプロセスをもつアプリケーションで、それらが同じ SharedPreferences ファイルに書き込みをする場合に必要となる。
※ 『MODE_MULTI_PROCESS』 は API Level 11(Android 3.0) で追加されたAPI(タブレット用?)
使用方法としては、getSharedPreferences の第2引数に上記のいずれかのモードを設定します。
例:
// 呼び出し(ファイルがなければ新規作成) // 注:この名前が被ると大変なことになるのでできるだけユニークな名前を書くこと。 SharedPreferences mSharedPreferences = getSharedPreferences("[ファイル名]", [モード指定]); // 値を取得 mSharedPreferences.getString("[呼び出しキー]","[デフォルト値]"); //---- 値を格納しない場合は以下は必要ありません ---- // 値を格納するための処理 Editor prefsPrivateEditor = mSharedPreferences.edit(); // 値を格納 prefsPrivateEditor.putString("[呼び出しキー]", "[格納値]"); // 格納を有効化 ※これをしないと保存されません。 prefsPrivateEditor.commit();
よく使用される関数は以下
- getBoolean(String key, boolean defValue)
- getFloat(String key, float defValue)
- getInt(String key, int defValue)
- getLong(String key, long defValue)
- getString(String key, String defValue)
※使い方によってはデータが失われる可能性があるので取り扱いには注意が必要
Cool!