기술 블로그

[안드로이드 복습]11장 이메일 저장 본문

Android

[안드로이드 복습]11장 이메일 저장

jaegwan 2018. 11. 18. 15:16
반응형

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 은 변환 해줘야합니다. 



반응형
Comments