[kotlin] 코틀린 확장 함수를 사용하여 로컬 저장소를 관리하는 방법은?

다음은 코틀린에서 SharedPreferences를 사용하여 확장 함수를 정의하는 간단한 예제입니다.

먼저, SharedPreferences를 다루는 확장 함수를 작성합니다.

import android.content.Context

fun Context.getPreferences() = this.getSharedPreferences("my_preferences", Context.MODE_PRIVATE)

fun Context.saveString(key: String, value: String) {
    val editor = this.getPreferences().edit()
    editor.putString(key, value)
    editor.apply()
}

fun Context.getString(key: String, defaultValue: String): String {
    return this.getPreferences().getString(key, defaultValue) ?: defaultValue
}

이제 위에서 정의한 확장 함수를 사용하여 로컬 문자열 값을 저장하고 검색할 수 있습니다.

// 값을 저장
context.saveString("username", "john_doe")

// 값을 검색
val username = context.getString("username", "guest")

위의 예제에서는 Context를 확장하여 SharedPreferences를 보다 쉽게 다룰 수 있는 saveStringgetString 확장 함수를 작성했습니다. 이러한 방식으로 로컬 저장소를 다루는 코드를 보다 간단하게 만들 수 있습니다.

참고 문헌: