본문 바로가기

안드로이드/러닝패스

[#A2 DEPRECATED] 간단한 저장소가 필요할 때, SharedPreference

SharedPreference란 고유의 어플리케이션 폴더에 저장되는 xml 형태의 파일로, 간단한 데이터를 키 : 밸류 형식으로 저장할 수 있습니다.


이 밸류는 아래의 형식으로 제한됩니다.


- Boolean

- Integer

- Float

- Long

- String

- GSON, JSON 객체


BITMAP 포맷의 경우 String 형태로 변환하여 저장이 가능합니다.


1.SharedPreference의 호출


SharedPreferences mPref = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());



2.SharedPreference의 저장과 로드, 삭제와 초기화


데이터의 저장 및 삭제에는 SharedPreferences.Editor의 인스턴스가 필요합니다.

*로드에는 필요하지 않습니다.


*저장

1
2
3
SharedPreferences.Editor editor = mPref.edit();
editor.putInt("key", value);
editor.commit();
cs


*삭제

1
2
3
SharedPreferences.Editor editor = mPref.edit();
editor.remove("key");
editor.commit();
cs


*초기화

1
2
3
SharedPreferences.Editor editor = mPref.edit();
editor.clear();
editor.commit();
cs


editor의 put, remove,clear 작업이 마무리된 후 반드시 editor의 commit() 또는 apply() 메소드를 호출해야 합니다.

이는 데이터의 변경을 확정시키는 가장 중요한 작업입니다.



*로드

1
2
mPref.getInt("key", default_value);
 
cs

데이터를 호출 시에는 SharedPreferences.Editor가 필요하지 않고, "key"의 값이 지정되지 않은 경우 default_value로 자동 지정됩니다.


지금까지 소개한 것들은 기초 중의 기초이며, 안드로이드 공식 개발사이트에는 SharedPreference를 사용하는 다양한 방법이 있습니다.


이 xml (SharedPreference)에 저장된 모든 데이터는 앱 데이터 삭제시 일괄적으로 삭제됩니다.



TIP - 호출한 데이터 혹은 저장할 데이터의 형을 바꾸는 간단한 방법


int 형으로 변환

Integer.valueOf(your_value);


String 형으로 변환

String.valueOf(your_value);


Double, Float 형도 마찬가지의 형식으로 변환할 수 있습니다.