Study/Android
Data Storage 中 Preferences
유쾌한순례자
2011. 8. 30. 13:57
화면저장방식. 게임같은곳에서 셋팅같은것등 ( 말그대로 화면을 저장한다고 생각하면 되겠다.)
activity 라이프사이클에서 판단해서 사용하면 되는데 대부분 onStop에서 저장을
onStart에서 불러오는것이 보편적인 방법이다.
//현재화면상태정보를 pref 라는 key이름으로 가져옴
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
onStart에서 불러오는것이 보편적인 방법이다.
//현재화면상태정보를 pref 라는 key이름으로 가져옴
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
//findViewById로 각 id 값을 가져옴
EditText edit1 = (EditText)findViewById(R.id.EditText);
CheckBox check1 = (CheckBox)findViewById(R.id.CheckBox01);
CheckBox check2 = (CheckBox)findViewById(R.id.CheckBox02);
//pref에 저장되어 있는 값을 가져오는데 "이름" ,"만약 값이 없을경우 Default 값" 형태로 사용한다.
String text = pref.getString("editText", "");
Boolean chk1 = pref.getBoolean("check1", false);
Boolean chk2 = pref.getBoolean("check2", false);
//값을 set 함
edit1.setText(text);
check1.setChecked(chk1);
check2.setChecked(chk2); //activity life cycle ... onStop()
//현재화면저장정보를 pref 란 key 값으로 가져옴
SharedPreferences pref = getSharedPreferences("pref", Activity.MODE_PRIVATE);
//Editor 클래스를 이용해 저장할거임
SharedPreferences.Editor editor = pref.edit();
EditText edit1 = (EditText)findViewById(R.id.EditText);
CheckBox check1 = (CheckBox)findViewById(R.id.CheckBox01);
CheckBox check2 = (CheckBox)findViewById(R.id.CheckBox02);
// 저장할 값들을 입력
editor.putString("editText", edit1.getText().toString());
editor.putBoolean("check1", check1.isChecked());
editor.putBoolean("check2", check2.isChecked());