最終更新:
moonlight_aska 2016年03月12日(土) 20:29:47履歴
プリファレンスを利用してデータを保存するには, SharedPreferencesクラスを利用する.

- MainActivity.java
- getSharedPreferencesメソッドで, ファイル名およびアクセスモードを指定して, SharedPreferencesオブジェクトを取得する.
アクセスモード | 説明 |
MODE_PRIVATE | 他のアプリケーションからのアクセス不可 |
MODE_WORLD_READABLE | 他のアプリケーションからの読み出し可 |
MODE_WORLD_WRITABLE | 他のアプリケーションからの書き込み可 |
- SharedPreferences#editメソッドで, SharedPreferences.Editorインタフェースを取得する.
- Editor#putXXXメソッドで, キーと値を指定してデータを書き込む.
メソッド | 保存できる値 |
putBoolean | boolean |
putFloat | float |
putInt | int |
putLong | long |
putString | String |
- Editor#commitメソッドで, コミットする.
package com.moonlight_aska.android.work.preference01;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
public class MainActivity extends Activity implements View.OnClickListener {
private static final String FILENAME = "sample";
private Button btnWrite = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnWrite = (Button)findViewById(R.id.btn_write);
btnWrite.setOnClickListener(this);
}
@Override
public void onClick(View v) {
// データ書き込み
SharedPreferences pref = getSharedPreferences(FILENAME, Context.MODE_PRIVATE);
if (pref != null) {
SharedPreferences.Editor editor = pref.edit();
// ブール値
CheckBox cb = (CheckBox) findViewById(R.id.w_bool_id);
editor.putBoolean("DATA1", cb.isChecked());
// 数字
EditText dat2 = (EditText) findViewById(R.id.w_int_id);
String str = dat2.getText().toString();
if (!str.equals("")) {
editor.putInt("DATA2", Integer.parseInt(str));
}
// 文字列
EditText dat3 = (EditText) findViewById(R.id.w_string_id);
str = dat3.getText().toString();
if (!str.equals("")) {
editor.putString("DATA3", str);
}
editor.commit();
}
}
}

コメントをかく