반응형

Kotpref

설명

  • SharedPreferences 기능을 좀더 확장해서 사용할 수 있게 해주는 라이브러리
  • gson-support를 사용하면 기본 타입 뿐만 아니라 list, map, 객체 등을 저장할 수 있다

코드

build.gradle
dependencies {
    ...
    implementation 'com.chibatching.kotpref:kotpref:2.13.1'
    implementation 'com.chibatching.kotpref:gson-support:2.13.1'
}
Settings
object Settings : KotprefModel() {
    var userName: String by stringPref("Unknown")
    var list: ArrayList<String> by gsonPref(arrayListOf("1", "2"))
    var map: HashMap<String, String> by gsonPref(hashMapOf("a" to "AAA", "b" to "BBB"))
}
AppApplication
class AppApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        Kotpref.init(this) // 초기화 필수
    }
}
MainActivity
class MainActivity : AppCompatActivity() {
    lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        binding = ActivityMainBinding.inflate(layoutInflater).apply {
            setContentView(root)
            lifecycleOwner = this@MainActivity
        }
    }

    fun onClickSave(view: View) {
        Settings.userName = "tom"
        Settings.map["c"] = "CCC"
        Settings.list.add("3")
    }

    fun onClickShow(view: View) {
        val message = "${Settings.userName}, ${Settings.list}, ${Settings.map}"

        Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
    }
}

참고

반응형

'Development > Android' 카테고리의 다른 글

[Android] BuildConfig  (0) 2021.02.09
[Android] meta-data  (0) 2021.02.09
[Android] SharedPreferences  (0) 2021.02.09
[Android] Build APK  (0) 2021.02.09
[Android] Retrofit  (0) 2021.02.09

+ Recent posts