89
93

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Preference使用方法[Android]

Posted at

#Preferenceの基本
 データ、保存したいですよね。
 データの簡単な保存方法にプリファレンスというものがあります。
 プリファレンスは、 キーと値の組み合わせでデータを保存する 方法です。1つのキーに1つの値を保存、シンプルですね。これはアプリの設定情報の保存などに向いているモノです。大量のデータや複雑なものはデータベースなど、別の保存方法を選びましょ。

 アプリは複数のプリファレンスを持つことができます。また、使えるデータ型は以下の5つに限られます。

  • boolean型
  • float型
  • int型
  • long型
  • String型

#Preferenceへのアクセス
 まずは、プリファレンスにアクセスです。
 contentクラスのgetSharedPreferences()を用いて、 SharedPreferences オブジェクトを取得です。

SharedPreferences prefer = getSharedOreferences("ファイル名", モード)

 ここで、ファイル名は保存先のファイル名です。モードは3つあり、その中から適したものを選びましょう。

MODE アクセス権
MODE_PRIVATE 他のアプリからアクセス不可
MODE_WPRLD_READABLE 他のアプリから読み込み可能
MODE_WORLD_WRITEABLE 他のアプリから書き込み可能
 ただし、保存先のファイル名とアクティビティ名が同じ場合に限り、getPreferences()が使え、こちらは引数がモードのみでオッケーです。
#Preferenceの保存
 保存には Editor クラスを用います。
 edit()でオブジェクト取得、保存する値がint型の場合、putInt()でキーと値を保存、commit()で実際にファイルに書き込むという流れです。
Editor editor = pref.edit();
editor.putInt("id", userId);
editor.commit();

#Preferenceの読み込み
読み込みでは、SharedPreferenceseオブジェクトを取得後、値をgetInt()等のメソッドでキーを与えて値を呼び出す流れです。

SharedPreferences pref = getSharedPreferences("user_data", MODE_PRIVATE);
		
int useId = pref.getInt("id", 10001);

 getInt()の第1引数はキー、第2引数は デフォルト値 となります。なにも保存してない場合に呼び出された時にその値を返します。
#Preferenceの削除
##特定のキーを削除
 特定のキーと値のデータを削除する場合は、Editorクラスのremove()を用います。引数に、String型のキーを与えます。この場合も、次にcommit()をすることで実際の削除が行われます。
##すべてのキーを削除
 複数のデータを保存した後に、まとめて削除したい場合は、clear()を用います。こちらは引数なさいで一気に。さようなら。

#参考
SharedPreferences | Android Developers

89
93
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
89
93

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?