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();
}
}
【出力結果】







