728x90
반응형
#App의 간단한 DB 역할을 하는 SharedPreferences 알아보기
App에서 간한하게 저장해야할 데이터가 있는데 db를 사용하긴 좀 그럴 때
환경설정이나 간단한 텍스트 정도는 sharedpreferences를 이용하면 된다
Key, Value의 형태로 데이터를 저장할 수 있는 구조이며
data/data/PACKAGE_NAME/shared_prefs에 xml파일로 저장된다
이 경우 루팅하지 않은 경우 ADM에서 확인이 불가능하다
AVD에서 테스트 중이라면 확인 가능하다
1. 저장하기(write)
write할 때는 SharedPreference..Editor() 클래스 객체를 생성하여
editor변수에 set___(key, value) 메소드를 사용하여 저장한다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | // write 클래스 public void writeSharedPreference(View view){ // SharedPreferences 가져오기 sharedPreferences = this.getSharedPreferences("SETTINGS", Context.MODE_PRIVATE); // Editor 가져오기 editor = sharedPreferences.edit(); // 저장할 데이터에 대해 key, value로 저장하기 editor.putInt("PERIOD", samplingPeriod); editor.putBoolean("ALERT", alertSwitch.isChecked()); editor.putBoolean("SENSING", sensingSwitch.isChecked()); // commit editor.commit(); } | cs |
2. 불러오기(read)
get___(key, default value)메소드를 사용하여 불러온다
get()메소드에서 default value를 설정하는 이유는
sp에서 가져온 데이터가 없을 경우를 대비하여 기본 값으로 설정하는 것이다
1 2 3 4 5 | // sharedPreferences 데이터 가져오기 sharedPreferences2 = getSharedPreferences("SETTINGS", Context.MODE_PRIVATE); int period = sharedPreferences2.getInt("PERIOD", -1); boolean alert = sharedPreferences2.getBoolean("ALERT", false); boolean sensing = sharedPreferences2.getBoolean("SENSING", false); | cs |
위와 같은 방법으로 간편하게 영구적으로 저장되는 데이터의 구현이 가능하다
하지만 앱을 지우게 되면 날아가는 단점이 있다~
반응형
'Programming > Android' 카테고리의 다른 글
[Android] 업로드 키 비밀번호를 분실했을 때 해결 방법 (6) | 2020.05.06 |
---|---|
[안드로이드] Firebase Android upload Image with text(Firebase 이미지 텍스트 업로드) (0) | 2017.08.30 |
[안드로이드] Spinner에 value 지정하기(Android Spinner set hidden value) (0) | 2017.07.21 |
[안드로이드] Actionbar vs Toolbar 차이점, 사용법 알아보기 (0) | 2017.07.20 |
[안드로이드] 개발할 때 유용한 사이트 (0) | 2017.07.11 |