Androidアプリ入門 No.41 Preferenceの基本 具体的な操作の解説
Preferenceの基本
具体的な操作の解説
単純なデータの保存では文字列を保存した。ここではその内容を確認する。まず、Activity#getPreferencesの定義を確認する。
public SharedPreferences getPreferences(int mode)
引数は以下。
引数 | 説明 |
---|---|
mode | Preferenceの操作モードの決定。 |
modeには以下が指定できる。
引数 | 説明 |
---|---|
MODE_PRIVATE | デフォルト。呼び出したアプリケーションでのみ読み書きできる。 |
MODE_WORLD_READABLE | ほかのどのアプリケーションからでも読み込める。 |
MODE_WORLD_WRITEABLE | ほかのどのアプリケーションからでも書き込める。 |
どのアプリケーションからでも読み書きできるようにするには、以下のようにビット演算の和をとる。
MODE_WORLD_READABLE | MODE_WORLD_WRITEABLE
次に、データの読み込みについて解説する。getPreferencesで取得したSharedPreferencesでデータの読み込みが行える。データの読み込みはgetBoolean、getInt、getLong、getFloat、getStringのいずれかのメソッドで行う。引数は第1引数が読み込みのキー、第2引数がキーに対するデータがない場合のデフォルトの値を指定する。また、containsメソッドでデータが存在するかを確認できる。さらに格納されているすべてのデータをgetAllメソッドで、Map
データを編集するには、editメソッドでEditorを取得する。editメソッドの定義は以下となる。
public abstract SharedPreferences.Editor edit()
取得したEditorのインスタンスに対して、putBoolean、putInt、putLong、putFloat、putStringのいずれかのメソッドでデータを格納する。それぞれ1番目の引数がデータ格納のキー、2番目の引数が格納する値となる。ただし、putXxxメソッドを実行するだけではデータの保管は完了せず、commitメソッドを呼び出す必要がある。commitされた段階でデータが完全に格納される。
データを削除するためにはremoveメソッドを用いる。removeメソッドは削除するデータのキーを指定してデータを削除する。removeメソッドもcommitされた段階でデータが削除される。
すべてのデータを削除する場合のみ、clearメソッドが使用できる。これに関してはcommitは不要でデータが完全に削除される。