Androidでは、比較的簡単に設定情報の保存が行えます。
getSharedPreferences関数でファイル名からSharedPreferencesクラスのインスタンスを生成し、編集するためにEditorメソッドでEditorインスタンスを取得後、編集、保存します。
Button mSaveButton = null;
Button mLoadButton = null;
Button mRemoveButton = null;
EditText mTextView = null;
・
・
mTextView = (EditText)findViewById(R.id.textView);
mSaveButton = (Button)findViewById(R.id.saveButton);
mSaveButton.setOnClickListener(new OnClickListener() {
// Saveボタン押下時処理
public void onClick(View v) {
// settings.xmlファイルのSharedPreferencesインスタンスを生成
SharedPreferences sp = getSharedPreferences("settings", MODE_PRIVATE);
// Editorを取得
SharedPreferences.Editor editor = sp.edit();
// EditTextから文字列取得
SpannableStringBuilder ssb = (SpannableStringBuilder)mTextView.getText();
String str = ssb.toString();
// Editorに保存データ設定
editor.putString("text", str);
// Editorを保存
editor.commit();
}
});
mLoadButton = (Button)findViewById(R.id.loadButton);
mLoadButton.setOnClickListener(new OnClickListener() {
// Loadボタン押下時処理
public void onClick(View v) {
// settings.xmlファイルのSharedPreferencesインスタンスを生成
SharedPreferences sp = getSharedPreferences("settings", MODE_PRIVATE);
// 保存文字列を取得
String str = sp.getString("text", "");
mTextView.setText(str);
}
});
mRemoveButton = (Button)findViewById(R.id.removeButton);
mRemoveButton.setOnClickListener(new OnClickListener() {
// Removeボタン押下時処理
public void onClick(View v) {
// settings.xmlファイルのSharedPreferencesインスタンス生成
SharedPreferences sp = getSharedPreferences("settings", MODE_PRIVATE);
// Editor取得
SharedPreferences.Editor editor = sp.edit();
// 文字列を削除
editor.remove("text");
// 削除を確定&保存
editor.commit();
}
});
上の例では、Saveボタンを押して文字列を保存、Loadボタンで保存した文字列を読み出し、Removeボタンで削除を行います。
保存ファイル名はgetSharedPreferencesでインスタンス取得時に指定します。上の例ではsettingsというXMLファイルです。
SharedPreferencesのgetString / putStringメソッドで文字列の格納・取り出しが行えます。上の例では"text"と指定していますが、これはXMLファイルに保存する時の保存タグを指定しているものです。他にputIntやputBoolean等、大体の基本型は同じように扱えるようです。
最後に、commitで変更を確定しています。これが無いと実際の保存処理が行われません。
0 件のコメント:
コメントを投稿