앱의 간단한 설정 정보들을 저장하기 위해서 안드로이드에서는 SharedPreferences 클래스를 제공한다.
파일 시스템 기반으로서 XML 형태로 저장 되며, sqlite 를 사용하기에는 부담스런것들을 저장하는데 아주 유용할 것이다.
저장 값은 XML 파일 답게 name,value 쌍으로 저장한다.
설정 파일은 아래 경로에 고정되어 저장 되며, 일반적으로는 자신 앱에서만 사용가능하지만,
파일 모드를 변경하여 다른앱에서도 사용은 가능하더이다!
설정 저장 경로 : data/data/패키지 이름/shared_prefs/
1. 설정 값 저장하기
SharedPreferences prefs = getSharedPreferences( (Stirng)Preferences_name , MODE_PRIVATE); SharedPreferences.Editor ed = prefs.edit(); ed.putString( (Stirng)key , value ); // value : 저장될 값, ed.putInt( (Stirng)key , value ); ed.commit(); // 필수! 이것을 안해주면 저장이 안되요!
|
2. 설정 값 불러오기
SharedPreferences prefs = getSharedPreferences( (Stirng)Preferences_name ,MODE_PRIVATE); prefs.getString( (Stirng)key, default_value ); prefs.getInt( (Stirng)key, default_value );
|
getSharedPreferences( (Stirng)Preferences_name , (int)MODE );
* MODE => 설정파일을 불러올때의 모드
- MODE_PRIVATE : 자기 app 내에서 사용할때, 기본값이며, 0
- MODE_WORLD_READABLE : 다른 app에서 읽기 가능
- MODE_WORLD_WRITEABLE : 다른 app에서 쓰기 가능
* Preferences_name => 설정 값들이 저장되는 파일의 이름. (다양한 설정 파일들이 존재할수 있기 때문에)
* key => string 형이며, 값의 변수명 역할을 수행하는 이름.
* default_value => key에 해당하는 저장값이 없을때, 불러올 기본값.
위 에서는 String, int 만 있지만 Long,float 등 다양한 메서드를 지원한다.
Summary
SharedPreferences prefs = getSharedPreferences("CyLostPrefName", MODE_PRIVATE);
Editor ed = prefs.edit();
ed.putString("gmailID", "snazzy7979");
ed.putString("gmailPWD", "pwd12345");
ed.commit();
// REMOVE
SharedPreferences prefs = getSharedPreferences("androesPrefName", MODE_PRIVATE);
Editor ed = prefs.edit();
ed.remove("gmailID");
ed.remove("gmailPWD");
// ed.clear();
ed.commit();
// READ
SharedPreferences prefs = getSharedPreferences("androesPrefName", MODE_PRIVATE);
String gmailID = prefs.getString("gmailID", "");
String gmailPWD = prefs.getString("gmailPWD", "");
[출처] [코드] SharedPreferences 클래스 - 설정 값 저장|작성자 개구리
'컴퓨터공학 기초 > Java' 카테고리의 다른 글
Easier click Listener, OnClick의 간단한 코드작성 방법 (0) | 2012.02.14 |
---|---|
[Android] 버튼 이벤트 처리 (1) | 2012.02.14 |
JDK 1.6 api (kor) (0) | 2011.05.02 |
android-sdk_r06_docs (0) | 2011.05.02 |
ArrayList를 array로 변환하는 방법 (0) | 2010.12.14 |