본문 바로가기

ANDROID - JAVA

[ANDROID - JAVA] 디바이스에 데이터 저장하기 (SharedPreferences 사용하기)

앱을 만들면서 폰 안에 데이터를 저장해야 할 경우가 생긴다 그 중 사용하기 제일 편한 방법은


SharedPreferences를 이용 하는것이다.


사용법


1. 저장하기


1
2
3
4
5
6
7
SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;
 
sharedPreferences = getSharedPreferences("data", 0);
editor = sharedPreferences.edit();
editor.putInt("num", 10);
editor.commit();

cs


줄 4의 "data"는 가볍게 설명하면 데이터를 가져올 파일 이름이라고 생각하면 된다.
뒤에 숫자 0은 각각의 MODE가 있는데 대부분의 경우에는 0을 사용하고 자세한 사항은 문서를 참조한다.

줄 5에서 Editor에 sharedPreferences에 대한 편집 권한을 준 후
줄 6에서 "num"이라는 키값에 10이라는 숫자를 저장한다. (String은 putString 등등...)
줄 7은 필수! 저장한다는 이야기와 같은 의미, 이 부분을 빼먹으면 저장이 되지 않는다.


2. 불러오기


1
2
3
4
SharedPreferences sharedPreferences;
 
sharedPreferences = getSharedPreferences("data", 0);
int num = sharedPreferences.getInt("num", -1);
cs

 

줄 3에서 data파일을 0번 모드로 열고

줄 4에서 "num"으로 된 키가 가지고 있는 값을 가져오지만 "num"이라는 곳에 값이 없다면 -1을 반환하도록 한다는 의미이다.



3. 삭제하기


1
2
3
4
5
6
7
8
SharedPreferences sharedPreferences;
SharedPreferences.Editor editor;
 
sharedPreferences = getSharedPreferences("data", 0);
editor = sharedPreferences.edit();
editor.remove("num");
editor.clear();
editor.commit();
cs


줄 4, 5는 1.저장하기 2.불러오기를 참고

줄 6에서 num이라는 키가 가진 값을 삭제한다.

줄 7은 sharedPreferences가 가진 모든 값을 삭제한다.

줄 8은 필수! 하지 않으면 삭제된것이 저장이 안된다.