SharedPreference란?
저장하려는 키-값 컬렉션이 비교적 작은 경우 SharedPreference API를 사용
키-값 쌍이 포함된 파일을 가리키며 키-값 쌍을 읽고 쓸 수 있는 간단한 메서드를 제공
해당 파일은 프레임워크에서 관리하며 비공개이거나 공유일 수 있음
1. 공유 환경설정의 핸들 가져오기
* 다음 메서드 중 하나를 호출하여 새로운 공유 환경설정 파일을 생성하거나 기존 파일을 엑세스 할 수 있음
- getSharedPreference() : 첫번째 매개변수로 지정하는 이름으로 식별되는 여러 공유 환경설정 파일이 필요한 경우 이 메서드를 사용. 앱의 모든 Context에서 이 메서드를 호출할 수 있음
- getPreference() : 활동에 하나의 공유 환경설정 파일만 사용해야 하는 경우 Activity에서 이 메서드를 사용. 이 메서드는 활동에 속한 기본 공유 환경설정 파일을 검색하기 때문에 이름을 제공할 필요가 없음.
val sharedPref = activity?.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE)
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE)
2. 공유 환경설정에 쓰기
* 공유 환경설정 파일에 쓰려면 SharedPreference에서 edit()을 호출하여 SharedPreference.Editor를 만듦
- putInt() 및 putstring()과 같은 메서드를 사용하여 쓰려고 하는 키와 값을 전달
- appy() 또는 commit()을 호출하여 변경사항을 저장
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
with (sharedPref.edit()) {
putInt(getString(R.string.saved_high_score_key), newHighScore)
commit()
}
3. 공유 환경설정에서 읽기
* 공유 환경설정 파일에서 값을 검색하려면 getInt() 및 getString()과 같은 메서드를 호출하여 원하는 값에 키를 제공하고 키가 없으면 선택적으로 반환할 기본값을 제공
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
val defaultValue = resources.getInteger(R.integer.saved_high_score_default_key)
val highScore = sharedPref.getInt(getString(R.string.saved_high_score_key), defaultValue)
'Android > 데이터 저장 및 관리' 카테고리의 다른 글
[Android/Firebase]RemoteConfig로 메시지 가져오기 (0) | 2023.02.25 |
---|---|
[Android/Firebase]FCM(Firebase Cloud Messaging) 푸시 알람 구현 (0) | 2021.09.23 |
[Android/Firebase]SNS 로그인 구현(3) - 구글 (0) | 2021.05.12 |