package soo.data.preferencetest; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; public class PreferenceTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button b = (Button)findViewById(R.id.button01); b.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent i = new Intent(PreferenceTest.this,SubActivity.class); startActivity(i); } }); init(); } private SharedPreferences sp; private EditText et; private CheckBox cb1,cb2; private void init() { // TODO Auto-generated method stub sp = getSharedPreferences("sp", Activity.MODE_PRIVATE);//읽고 쓰고가 된다. et = (EditText)findViewById(R.id.editText01); cb1 = (CheckBox)findViewById(R.id.checkBox01); cb2 = (CheckBox)findViewById(R.id.checkBox02); } @Override public void onStop(){ //화면 저장 : 화면이 사라질 때 //preference에 저장한다.(shared preference) super.onStop(); //1. 화면 상태값들의 저장 SharedPreferences.Editor editor = sp.edit(); String value1=et.getText().toString(); boolean value2=cb1.isChecked(); boolean value3=cb2.isChecked(); editor.putString("et_key", value1); editor.putBoolean("cb1_key", value2); editor.putBoolean("cb2_key", value3); editor.commit(); } @Override public void onStart(){ //화면정보를 불러와서 셋팅 super.onStart(); //2. 저장된 값들을 불러오기.. String value1 = sp.getString("et_key",""); boolean value2 = sp.getBoolean("cb1_key", false); boolean value3 = sp.getBoolean("cb2_key", false); et.setText(value1); cb1.setChecked(value2); cb2.setChecked(value3); } }