package net.npaka.preferencesex;
import android.app.Activity;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
//プリファレンスの読み書き
public class PreferencesEx extends Activity
implements View.OnClickListener {
private EditText editText;//エディットテキスト
private Button btnWrite;//書き込みボタン
private Button btnRead; //読み込みボタン
//初期化
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//レイアウトの生成
LinearLayout layout=new LinearLayout(this);
layout.setBackgroundColor(Color.rgb(255,255,255));
layout.setOrientation(LinearLayout.VERTICAL);
setContentView(layout);
//エディットテキストの生成
editText=new EditText(this);
editText.setText("",EditText.BufferType.NORMAL);
setLLParams(editText,240,50);
layout.addView(editText);
//書き込みボタンの生成
btnWrite=new Button(this);
btnWrite.setText("書き込み");
btnWrite.setOnClickListener(this);
setLLParams(btnWrite);
layout.addView(btnWrite);
//読み込みボタンの生成
btnRead=new Button(this);
btnRead.setText("読み込み");
btnRead.setOnClickListener(this);
setLLParams(btnRead);
layout.addView(btnRead);
}
//ボタンクリックイベントの処理
public void onClick(View v) {
if (v==btnWrite) {
//SharedPreferencesオブジェクトの取得
SharedPreferences pref=getSharedPreferences(
"PreferencesEx",MODE_PRIVATE);
//プリファレンスへの書き込み
SharedPreferences.Editor editor=pref.edit();
editor.putString("text",editText.getText().toString());
editor.commit();
} else if (v==btnRead) {
//SharedPreferencesオブジェクトの取得
SharedPreferences pref=getSharedPreferences(
"PreferencesEx",MODE_PRIVATE);
//プリファレンスからの読み込み(3)
editText.setText(pref.getString("text",""));
}
}
//ライナーレイアウトのパラメータ指定
private static void setLLParams(View view) {
view.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
}
//ライナーレイアウトのパラメータ指定
private static void setLLParams(View view,int w,int h) {
view.setLayoutParams(new LinearLayout.LayoutParams(w,h));
}
}
|