android의 SharedPreferences알아보기

android에서 최초실행 여부, 간단한 설정한 값등을 어디에 저장 하면 좋을까요?
로컬DB에 쓰기, 파일에 쓰기, SharedPreferences 사용하기등 다양한 방법이 존재합니다.

그중에 이러한 작업들은 android에서 기본적으로 제공하는 SharedPreferences를 활용하면
쉽게 쓰고 읽을수 있습니다.

1. SharedPreferences란?

 - 간단하게 말해 xml파일에 필요한 데이터를 저장하여 쉽게 읽고 쓰게 하는 것 입니다.

 - 경로 : data/data/패키지명/shared_prefs/SharedPreference 에 파일이 저장

2. 객체얻어오기

 - getSharedPreferences(String name, int mode)
  -> 위 함수를 통하여 SharedPrefrences 객체를 받아 올수 있습니다.
  -> 첫번째 인자  name은 해당 SharedPreferences의 이름입니다. 특정 이름으로 생성할수 있고 해당 이름으로 xml 파일이 생성된다고 생각하시면 됩니다.
  -> 두번째 인자 mode는 읽고 쓰기 권한 관련된 Mode라고 생각하시면 됩니다. 일단 MODE_PRIVATE만 생각하세요.

3. 저장하기

SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("key1", "value"); 
editor.putInt("key2", 10); 
editor.commit();
저장 하는 소스입니다.
SharedPreferences 객체를 생성하고 데이터를 저장하기 위해서 Editor 객체를 받아 옵니다.
Editor 객체를 통해 원하는 값을 key, value 형태로 입력하고
commit을 통하여 완료 하면 데이터 저장은 완료 됩니다.

저장할수 있는 데이터 종류는 boolean, int, float, long, string 5종류입니다.

4. 읽어오기

SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
int nVal = pref.getInt("key2", 0);  
읽어 오는 것은 아주 간단합니다.
SharedPreferences객체를 통해 원하는 값의 key와 디폴트값을
파라미터로 하여 호출하면 간단하게 값을 받아 올수 있습니다.

 5. 삭제하기

SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.remove("key1"); 
editor.commit();
삭제는저장하기에서 키값으로 remove함수만 호출하면 됩니다.


그리 어렵지않게 사용할수 있는 만큼 간단한 데이터는 SharedPrefereces를 통하여 구현하는 것을 추천합니다.




댓글

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

AWS Lambda - API Gateway로 S3 파일 업로드 API 만들기 #3 - API Gateway - Lambda 연결 및 테스트

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #1

[AWS] Lambda + API GateWay를 이용해 간단한 RESTful API 만들기 #2