▼Androidメモ▼
プリファレンスの読み書き


プリファレンスの読み書きを行うプログラムを作成する。



ソースコード
PreferencesEx.java
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));
    }
}



−戻る−