SharedPreferences란?
✔ 데이터가 파일로 저장되고, 저장하려는 키-값 컬렉션이 비교적 작은 경우에 주로 사용됩니다.
✔ DB를 사용하지 않고, 간단한 데이터들을 저장할 때 주로 쓰이며, 앱을 껐다 켜도 사라지지 않아서 자주 사용하는 인터페이스입니다.
✔ 앱을 삭제하거나, 따로 삭제를 설정해야 값들이 사라집니다.
✔ Key, Value형태로 저장됩니다.
SharedPreferences 사용법
1. KEY 정하기
위에서 언급했듯이 Key, Value의 형태로 저장되기 때문에, 우선 Key값을 정해줍니다.
2. Value 타입 정하기
SharedPreferences에는 String, Int, Boolean, Long 등 다양한 자료형이 저장될 수 있으므로
어떤 타입을 사용할지 지정해야 합니다.
3. Data 저장하기
위에서 정한 Key, Value를 사용해서 int형 데이터를 저장해보겠습니다.
[Java]
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
int count = 99;
editor.putInt("지정할 KEY값", count);
editor.commit();
[Kotlin]
val count = 99
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
with (sharedPref.edit()) {
putInt("지정한 KEY값", count)
commit()
}
위 예제를 실행하면 아래와 같이 KEY, VALUE가 저장됩니다
"지정한 KEY값" | count |
4. Data 가져오기
이제 저장한 값들을 가져와야겠지요
마찬가지로 KEY값을 사용하면 됩니다
sharedPref.getInt("지정한 KEY값", 반환할 기본값)
getInt 함수의 두 번째 인자로 반환할 기본값이 반드시 들어가야합니다
[Java]
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int num = sharedPref.getInt("지정한 KEY값", 0);
[Kotlin]
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
val highScore = sharedPref.getInt("지정한 KEY값", 0)
SharedPreferences의 사용법은 위와 같습니다.
보통 SharedPreferences를 선언을 많이 하는 경우엔, KEY값은 클래스로 따로 관리하고
데이터를 저장하거나 읽는 putInt, getInt 등 함수는 Util로 선언하여 관리하면 편리합니다.
'📱 Android' 카테고리의 다른 글
[Android] FirebaseInstanceID Deprecated (0) | 2021.03.08 |
---|---|
[Android] OS 점유율 & minSdkVersion (0) | 2021.01.27 |
[Android] Notification (0) | 2021.01.04 |
[Android] Timber 사용해보기 (0) | 2020.12.29 |
[Android/kotlin] LayoutInflater 사용 (PopupWindow) (0) | 2020.12.22 |