Study Record

[안드로이드] sharedPreferences 본문

안드로이드

[안드로이드] sharedPreferences

초코초코초코 2022. 5. 19. 20:57
728x90

✍ sharedPreferences

앱 내에 저장해야할 정보가 적을 경우 sharedPreferences API 를 사용한다. key-value 형식으로 데이터를 저장하여 key 값으로 value 값을 얻을 수 있다. 

 

✍ 사용법

이름으로 식별되는 공유 환경설정 파일을 사용할 경우 getSharedPrederences() 함수를 사용하여 접근한다.

// getSharedPreferences(공유 파일 이름(String), 권한)
val sharedPref = activity?.getSharedPreferences("time", Context.MODE_PRIVATE)

※ 권한 부분에서 Context.MODE_WORLD_READABLE 및  Context.MODE_WORLD_WRITEABLE 모드는 Android 7.0(API 24)부터 중단되었다.

 

→ 공유 환경설정에서 쓰기

 

다음과 같이 putString(), putBoolean() 등과 같은 함수를 이용하여 key-value 값을 저장하고 apply() 또는 commit() 함수를 호출하면 변경사항을 저장한다.

val sharedPref = activity?.getSharedPreferences("time", ontext.MODE_PRIVATE) ?: return
// apply() : 동기적으로 저장
// commit() : 비동기적으로 저장
with (sharedPref.edit()) {
    putString("alarm", "18:52")
    putBoolean("onOff", false)
    putInt("intin", 4)
    apply()
}

 

→ 공유 환경설정에서 읽기

val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return

val alarm = sharedPref.getString("alarm", "")     // getString(key, defaultValue)
val onOff = sharedPref.getBoolean("onOff", false)  // getBoolean(key, defaultValue)
val initin = sharedPref.getInt("intin", 1)      // getInt(key, defaultValue)

 

→ 예시

val sharedPref = activity?.getSharedPreferences("time", ontext.MODE_PRIVATE) ?: return
// apply() : 동기적으로 저장
// commit() : 비동기적으로 저장
with (sharedPref.edit()) {
    putString("alarm", "18:52")
    putBoolean("onOff", false)
    apply()
}

 

실제 파일에 표시되는 모양

 

728x90