오늘은 안드로이드 SharedPreference에 대해 포스팅 합니다.


안드로이드 에서는 데이터 관리를 어떻게 할까?


크게 4가지 방법이 있다.


첫째는 SQLITE,


둘째는 I/O,


셋째는 서버를 거친 DB,


넷째는 오늘 포스팅 할 SharedPreference가 있다.


SharedPreference는 XML 방식을 채택하기 때문에,


데이터 로딩이 느릴 수 있다. XML 방식이 왜 느린지


알고 싶다면 아래 URL을 참고하라.


http://mommoo.tistory.com/17


기본적으로 쉐어프리퍼런스는 Map 과 같은 형태의 자료구조라 생각하면 편하다.


아래의 예제를 보자.


Preference 생성 (this 는 액티비티 정보. 액티비티 안이 아닐때는 context. 으로 접근해야함)


SharedPreferences shared

1 . sharedPreferences = getSharedPreference("name",0);


2.  sharedPreferences = getSharedPreference(0);


3.  sharedPreferences = PreferenceManager.getDefaultSharedPreference(this);



1번 방법은 쉐어프리퍼런스 저장 폴더에 name.xml 이름의 파일로 저장이 된다. 다른 이름도 얼마든지 가능하다.


2번 방법은 현재 액티비티의 이름으로 xml 파일이 저장된다.


3번 방법은 환경설정에 저장된 값으로 쉐어프리퍼런스를 가져오는 방법이다.


가져올 Preference가 없다면 새로 생성해준다.



Preference 값 호출


SharedPreferences.Edit editor = sharedPreference.edit();


editor.getInt(key값,디폴트값);

editor.getLong(key값,디폴트값);

editor.getBoolean(key값,디폴트값);

editor.getString(key값,디폴트값);

editor.getFloat(key값,디폴트값);


key값은 무조건 String 이다. 또한,


get하는 데이터형에 맞게 디폴트값을 설정해야 한다.


예를들어 getInt는 getInt("key",0); 이런식으로 말이다.



Preference 값 저장


SharedPreferences.Edit editor = sharedPreference.edit();


editor.putInt(key값, 디폴트값);

editor.putLong(key값, 디폴트값);

editor.putBoolean(key값, 디폴트값);

editor.putString(key값, 디폴트값);

editor.putFloat(key값, 디폴트값);

editor.commit();


중요한 것은 commit() 메서드를 써야 xml에 저장이 된다는 점이다.


값 호출 처럼 key값은 String이고 디폴트값은 자료형에 맞게 써야한다.



Preference 값 삭제


SharedPreferences.Edit editor = sharedPreference.edit();


1. editor.remove("key");


2. editor.clear();


editor.commit(); 


값 저장과 같이 commit(); 메서드를 사용해야 적용된다.


1번 방법은 key값에 맞는 value가 지워지고


2번 방법은 xml 데이터 전체가 지워진다.





포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.

Buy me a coffeeBuy me a coffee

+ Recent posts