[Android] 간단한 데이터의 저장/로드. SharedPreferences

Posted by 겨울에
2011. 2. 3. 21:24 scrap/ Android
출처 : http://blog.naver.com/notinoti/80118159209

안드로이드 프로그래밍을 하다보면 간단한 데이터를 저장/로드 할 경우가 생긴다.
 
예를 들어 프로그램상의 설정값, UI 화면구조 등에 사용된다.
 
물론 SQLite 나 XML을 사용할 수도 있지만 이는 대용량의 반복적이고 비슷한 data를 읽을 때 사용하고
 
비교적 가벼운 SharedPreferences을 사용하여 빠르고 쉽게 사용할 수 있다.
 
(마치 HashMap 과 같은 구조라고 이해하면 쉽다.)

1. 데이터 저장
 SharedPreferences pref = getSharedPreferences("Variable", 0);
 Editor editor = pref.edit();
 editor.putString("CALCULATE", "A");
 editor.commit();



- SharedPreferences pref = getSharedPreferences("Variable", 0);
Variable이라는 group 이름으로 객체를 가져온다. 없다면 자동으로 생성한다.
 
- Editor editor = pref.edit();
데이터를 저장하기 위한 editor를 생성한다.
 
- editor.putString("CALCULATE", "A");
CALCULATE 라는 key값으로 A 라는 value를 저장한다

- editor.commit();
최종적으로 editor에 임시 저장된 값들을 저장한다. 이 문구가 빠지면 저장이 되지 않으므로 주의한다.


2. 데이터 로드
SharedPreferences pref = getSharedPreferences("Variable", 0);
String str = pref.getString("CALCULATE", "C");



- SharedPreferences pref = getSharedPreferences("Variable", 0);
Variable이라는 group 이름으로 객체를 가져온다. 없다면 자동으로 생성한다.
 
- String str = pref.getString("CALCULATE", "C");
CALCULATE 라는 key값으로 value를 검색하여 가져온다. 값이 존재하지 않다면 default로 C 를 가져와 대입한다.