返回
SharedPreferences 的Kotlin用法知多少?
闲谈
2023-11-14 17:50:10
前言
SharedPreferences 对于 Android 开发者来说是最轻量级的KeyValue持久化组件了,相信大家都有自己的一套封装。而且微信基于mmap实现的MMKV高性能kv组件大家也都不陌生了。那么kotlin到来之后,大家还在沿用java的用法么?今天给大家带来你没看过的SharedPreferences的Kotlin用法。
SharedPreferences 简介
SharedPreferences 是 Android 提供的一个轻量级数据存储组件,它使用键值对的形式来存储数据。SharedPreferences 可以存储各种类型的数据,包括字符串、数字、布尔值和浮点数。SharedPreferences 是一个持久化的存储组件,这意味着即使应用被关闭或卸载,数据仍然会保留在设备上。
SharedPreferences 的使用
在 Android 中使用 SharedPreferences 非常简单,只需要以下几个步骤:
- 获取 SharedPreferences 对象:可以通过 SharedPreferences.Editor.putString、SharedPreferences.Editor.putInt、SharedPreferences.Editor.putBoolean 和 SharedPreferences.Editor.putFloat 方法来存储数据。
- 使用 SharedPreferences.Editor 对象来存储数据:
- 提交更改:可以通过 SharedPreferences.Editor.apply() 或 SharedPreferences.Editor.commit() 方法来提交更改。
- 获取数据:可以通过 SharedPreferences.getString、SharedPreferences.getInt、SharedPreferences.getBoolean 和 SharedPreferences.getFloat 方法来获取数据。
SharedPreferences 的封装
为了让 SharedPreferences 的使用更加方便,我们可以对它进行封装。封装后的 SharedPreferences 可以提供更简洁、更安全的代码,并且可以减少代码的重复。
以下是 SharedPreferences 的一个简单的封装示例:
class SharedPreferencesHelper(context: Context) {
private val sharedPreferences = context.getSharedPreferences("app_preferences", Context.MODE_PRIVATE)
funputString(key: String, value: String) {
sharedPreferences.edit().putString(key, value).apply()
}
fun getInt(key: String, defaultValue: Int): Int {
return sharedPreferences.getInt(key, defaultValue)
}
fun getBoolean(key: String, defaultValue: Boolean): Boolean {
return sharedPreferences.getBoolean(key, defaultValue)
}
fun getFloat(key: String, defaultValue: Float): Float {
return sharedPreferences.getFloat(key, defaultValue)
}
fun clear() {
sharedPreferences.edit().clear().apply()
}
}
通过这个封装后的 SharedPreferences,我们可以更加方便地存储和获取数据。例如,要存储一个字符串,我们可以使用以下代码:
SharedPreferencesHelper(context).putString("username", "john")
要获取一个字符串,我们可以使用以下代码:
val username = SharedPreferencesHelper(context).getString("username", "")
总结
SharedPreferences 是一个非常有用的数据存储组件,它可以帮助我们轻松地存储和获取数据。通过对 SharedPreferences 进行封装,我们可以让它的使用更加方便和安全。