기술 블로그
[안드로이드 복습]11장 이메일 저장 본문
1. SharedPreferences란?
- 간단하게 말해 xml파일에 필요한 데이터를 저장하여 쉽게 읽고 쓰게 하는 것 입니다.
- 경로 : data/data/패키지명/shared_prefs/SharedPreference 에 파일이 저장
선언방법
SharedPreferences pf = PreferenceManager.getSharedPreferences(this);
다른방법도 있지만 저는 PreferenceManager의 getSharedPRefernece();를 이용하는 방법을 사용했습니다.
데이터를 넣는법
SharedPreferences에 바로 수정가능한 정보를 넣을 순 없습니다.
수정가능한 정보를 넣기위해 SharedPreferences.Editer 인터페이스를 사용합니다.
https://developer.android.com/reference/android/content/SharedPreferences.Editor
SharedPreferences.Editor editor = pf.edit(); //pf.edit(); SharedPreferences객체에 뭔갈 편집할 때 사용하는 메서드입니다.
맵 형태로 저장되므로 putBoolean , putStirng을 사용한다.
editor.putBoolean("save",mcheck.isChecked()); //save는 id값이고 mcheck가 체크 되었는지 Ischecked();메서드로 boolean값으로 넘겨줍니다.
editor.putString("email",mEmail.getText().toString()); //email id와 입력된 mEmail 값을 String으로 넘겨줍니다.
데이터를 넣고 끝난게 아니라 저장해야합니다.
editor.apply(); //editor에서 변경한 preferences값을 sharedPreferences에 전달합니다.
//체크박스가 체크되었는지 확인할땐 Ischecked메서드를 사용합니다.
put으로 끝난게아니라 edit에서만 수정되어있습니다.
editor.apply();를 통해 수정된 값을 sharedpreference로 보내야 합니다.
데이터를 꺼내는 법
Boolean isCheked = pf.getBoolean("save",false);// ischeked는 sharedpreferences 객체의 불리언 값을 가져옵니다. id는 save고
기본값은 false입니다.
if(isCheked){ //만약 ischeked가 참이면 (체크박스가 체크되어있으면)
String email =pf.getString("email",""); //shaeredpreferences객체의 email키의 값을 string email에 박습니다.
mEmail.setText(email); // 에딧뷰인 memail에 string email값을 박습니다.
}
대략
pf.getStirng("id","defvalue"); 이런식으로 가져온다는 것을 확인할 수 있습니다.
뷰text- String 은 변환 해줘야합니다.
'Android' 카테고리의 다른 글
[안드로이드 복습]12장 액티비티 생명주기 (0) | 2018.11.19 |
---|---|
[안드로이드 복습] 11장 AlertDialog.builder (0) | 2018.11.19 |
[안드로이드 복습] 8장 메뉴 구현 (0) | 2018.11.18 |
layoutInflater (0) | 2018.11.17 |
[안드로이드 복습]7장 암시적 인텐트 (0) | 2018.11.17 |