검색결과 리스트
글
private SharedPreferences _prefs = null;
// SharedPreferences => 환경설정파일 생성하고 관리하기 위한 클래스
SharedPreferences 객체 생성방법
context.getSharedPreferences("PREFS_PRIVATE", Context.MODE_PRIVATE);
// SharedPreferences 객체를 얻기위한 메소드
// "파일명", 파일에 접근할 수 있는 권한
// <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
// <map> </map>
private Editor _editor = null;
// Editor => 환경설정파일의 내용을 수정하기 위한 클래스
Editor 객체 생성방법
SharedPreferences.edit();// Editor 객체를 얻기 위한 메소드
SharedPreferences 가 보유하고 있는 값 추출하는 메서드
SharedPreferences.getString("emailaddress", "Unknown");
// getString() 의 첫번째 값은 ~~.xml에서 <string name="~~">
// getString() 의 두번째 값은
<string>값이 없을 경우 기본값 </string>
SharedPreferences에 값을 넣거나 수정하는 메서드
Editor.putString("emailaddress", newemail);
// putString() => <string></string>
// putString()의 첫번째 값 => <string name="~~~">
// putString()의 두번째 값 => <string>~~~~</string>
// <string name="emailaddress">newemail변수의 값</string>
새로운 값, 변경 내용을 SharedPreferences에 실제로 적용시키는 메서드
Editor..commit();
// this._editor에 보관되어 있는
// <string name="emailaddress">newemail변수의 값</string>
// <string name="serverurl">serverurl변수의 값</string>
// 를 SharedPreferences xml 파일에 적용시키는 메소드
실제 사용한 예
/*
* prefs.java Unlocking Android http://manning.com/ableson Author: W. F. Ableson
* fableson@msiservices.com
*/
package com.msi.manning.UnlockingAndroid;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class Prefs {
private SharedPreferences _prefs = null;
// SharedPreferences => 환경설정파일 생성
private Editor _editor = null;
// Editor => 환경설정파일의 내용을 수정
private String _useremailaddress = "Unknown";
private String _serverurl = "http://android12.msi-wireless.com/getjoblist.php";
public Prefs(Context context) {
this._prefs = context.getSharedPreferences("PREFS_PRIVATE", Context.MODE_PRIVATE);
// SharedPreferences 객체를 얻기위한 메소드
// "파일명", 파일에 접근할 수 있는 권한
// <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
// <map> </map>
this._editor = this._prefs.edit();
// Editor 객체를 얻기 위한 메소드
}
// getValue() => SharedPreferences파일의 내용을 얻기 위한 메소드
public String getValue(String key, String defaultvalue) {
if (this._prefs == null) {
return "Unknown";
}
return this._prefs.getString(key, defaultvalue);
}
// setValue() => SharedPreferences파일에 내용을 저장 위한 메소드
public void setValue(String key, String value) {
if (this._editor == null) {
return;
}
this._editor.putString(key, value);
}
// getEmail() => 계정을 추출하는 메서드
public String getEmail() {
if (this._prefs == null) {
return "Unknown";
}
this._useremailaddress = this._prefs.getString("emailaddress", "Unknown");
// getString() 의 첫번째 값은 ~~.xml에서 <string name="~~">
// getString() 의 두번째 값은 <string>값이 없을 경우 기본값 </string>
return this._useremailaddress;
}
// getServer() => 접속할 URL 주소를 추출하기 위한 메소드
public String getServer() {
if (this._prefs == null) {
return "http://android12.msi-wireless.com/";
}
this._serverurl = this._prefs.getString("serverurl", "http://android12.msi-wireless.com/");
return this._serverurl;
}
// setEmail(입력된 사용자계정) =>입력된 사용자계정을 저장하는 메서드
public void setEmail(String newemail) {
if (this._editor == null) {
return;
}
this._editor.putString("emailaddress", newemail);
// putString() => <string></string>
// putString()의 첫번째 값 => <string name="~~~">
// putString()의 두번째 값 => <string>~~~~</string>
// <string name="emailaddress">newemail변수의 값</string>
}
// setServer(입력된 URL주소) => 입력된 URL주소를 저장하는 메소드
public void setServer(String serverurl) {
if (this._editor == null) {
return;
}
this._editor.putString("serverurl", serverurl);
// putString() => <string></string>
// putString()의 첫번째 값 => <string name="~~~">
// putString()의 두번째 값 => <string>~~~~</string>
// <string name="serverurl">serverurl변수의 값</string>
}
// save() => 실제로 ~~.xml 파일에 저장하는 메소드
public void save() {
if (this._editor == null) {
return;
}
this._editor.commit();
// this._editor에 보관되어 있는
// <string name="emailaddress">newemail변수의 값</string>
// <string name="serverurl">serverurl변수의 값</string>
// 를 SharedPreferences xml 파일에 적용시키는 메소드
}
}
실습예제
프로젝트 새롭게 만들고, 메인화면에 아래와 같이 구성...
ToggleButton => 사운드 (기본값 : On)
EditText => 아이디 (기본값 : default)
EditText => 비밀번호 (기본값 : default)
CheckBox => 아이디저장 (기본값 : 체크해제)
CheckBox => 비밀번호저장 (기본값 : 체크해제)
Button => 확인
확인버튼을 누르면 SharedPreferences 파일에
현재 사운드의 On/Off 상태 값, 체크박스에 체크한 값들은 (아이디, 비밀번호) 저장할 수 있도록 코드 작성....
(단, 다시 어플리케이션을 실행하면 현재 SharedPreferences 파일에
저장된 값으로 실행되어야 함..)
'Android' 카테고리의 다른 글
[Android]안드로이드 갤러리(S메모) 공유 받기 (4) | 2012.10.08 |
---|---|
[Android]토스트(Toast)중복시 나중 문자만 보이게 하기 (0) | 2012.09.28 |
[Android] 앱 설치 유무 판단 하기 (0) | 2012.09.14 |
[Android]Android KeyEvent 강제 발생 (0) | 2012.09.04 |
[Android] 안드로이드 드바이스 정보 보기 (0) | 2012.09.03 |
RECENT COMMENT