안드로이드에서 key-value 방식으로 간단하게 데이터를 저장하는 방식은 크게 두가지가 있습니다.
1. activity instance에 저장 ( 동일 app 동일 user Session에 유효)
2. Shared preference에 저장 ( 동일 app 다른 user Session에 유효 - instance와 달리 app이 재부팅되도 유지)
오늘은 Shared preference에 저장하는 방식에 대해서 알아보겠습니다.
사용법은 간단하지만 Shared preference는 작은 용량의 데이터를 저장하는데 유용한 클래스입니다.
- MainActivity.java SharedPreferences 객체를 사용한다고 가정
1) SharedPreferences Object와 SharedPreferences 파일 이름에 대한 변수 필요 --> 선언
private SharedPreferences mPreferences;
private String SharedPrefFile = "com.example.android.SharedPreferences";
Shared preference 파일 이름으로는 보통 package이름을 많이 사용합니다.
2) onCreate() 메소드에 ShredPreferences 객체 선언
mPreferences = getSharedPreferences(SharedPrefFile, MODE_PRIVATE);
3) SharedPreferences에 데이터를 넣는건 onPause()에서 수행
- SharedPreferences 객체에 edit()라는 메소드로 Editor 생성 --> put 메소드로 데이터 입력
- apply()메소드로 적용
@Override
protected onPause(){
super.onPause();
SharedPreferences.Editor preferencesEditor = mPreferences.edit();
//데이터입력
preferencesEditor.putString("key1","value1");
preferencesEditor.putInt("key2",123);
//적용
preferencesEditor.apply();
}
4) Activity가 재생성 될때 onCreate()에서 SharedPreferences 객체에서 데이터 불러오기
- 불러올때는 Editor 객체 말고 SharedPreferences 객체 사용 --> get 메소드로 불러온다.
//get 메소드의 첫번째 인자는 key값 , 두번째 인자는 key값에 맞는 데이터가 없을 경우 기본값
String example1 = mPreferences.get("key1","test");
Int example2 = mPreferences.get("key2",0);
[Android] 안드로이드 스튜디오에서 로그(Log) 추가/확인 하는 방법 (2) | 2020.10.29 |
---|---|
Fragment를 Dynamic하게 적용하는 방법 (ft. FragmentManager) (1) | 2020.10.02 |
[Android] 안드로이드 스튜디오 간단 단축키 (Android Studio) (1) | 2020.07.07 |
[Android] AppBar에 Option menu 추가하기 (0) | 2020.05.28 |
[Android] ImageView로 클릭 가능한 이미지 만들기 (2) | 2020.05.26 |