【Android】プリファレンスを利用してデータを簡単に保存する

Androidアプリ開発で、データを保存する方法はいくつかある。

データを保存・利用するには「SQLite」などのデータベースを使用するのが一般的であるが、データベースを使うまでもない事もある。
そういった場合、Androidでは「プリファレンス」というキー名と値の組合わせから構成されるデータをXML形式で保存する機能がある。

保存できるデータは、boolean型、float型、int型、long型、String型のみ。

今回は、このプリファレンスを利用してデータを簡単に保存し、出力してみる。

【値を保存】

// オブジェクトを取得 getSharedPreferences("プリファレンス名", 共有モード);
SharedPreferences pref_in = getSharedPreferences("prefname", MODE_PRIVATE);
// エディターオブジェクト生成
Editor editor = pref_in.edit();
// プリファレンスファイルへの書き込み putString("キー名", "データ")
editor.putString("keyname", "data");
// commit()メソッドの実行で値を保存
editor.commit();

【保存データを取得】

// オブジェクトを取得 getSharedPreferences("プリファレンス名", 共有モード);
SharedPreferences pref_out = getSharedPreferences("prefname", MODE_PRIVATE);
// プリファレンスファイルからデータを取得 putString("キー名", "データ")
String str = pref_out.getString("keyname", "data");

【利用例】

public class Activity000 extends Activity {
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		// 値を保存
		SharedPreferences pref_in = getSharedPreferences("name", MODE_PRIVATE);
		Editor editor = pref_in.edit();
		editor.putString("key1", "001");
		editor.putString("key2", "あいうえお");
		editor.commit();
		
		// 保存データを取得
		SharedPreferences pref_out = getSharedPreferences("name", MODE_PRIVATE);
		String str1 = pref_out.getString("key1", "default");
		String str2 = pref_out.getString("key2", "default");
		
		// データを出力
		Toast.makeText(getBaseContext(), str1, Toast.LENGTH_SHORT).show();
		Toast.makeText(getBaseContext(), str2, Toast.LENGTH_SHORT).show();
	}
}

【出力結果】

Preferences

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>