首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Kotlin中的iOS Swift UserDefaults等价物

在Android Kotlin中,SharedPreferences是类似于iOS Swift中UserDefaults的功能的等价物。SharedPreferences允许你存储键值对,这些键值对可以在应用的多个组件(如活动、服务、广播接收器)之间共享。

以下是如何在Android Kotlin中使用SharedPreferences的一些基本示例:

保存数据

代码语言:javascript
复制
val sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
val editor = sharedPreferences.edit()
editor.putString("key", "value")
editor.apply() // 或者 editor.commit(),但apply()是异步的且更高效

读取数据

代码语言:javascript
复制
val sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
val value = sharedPreferences.getString("key", "default_value")

删除数据

代码语言:javascript
复制
val sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
val editor = sharedPreferences.edit()
editor.remove("key")
editor.apply()

清除所有数据

代码语言:javascript
复制
val sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
val editor = sharedPreferences.edit()
editor.clear()
editor.apply()

使用Kotlin DSL简化操作

你可以使用Kotlin的扩展函数和DSL来简化SharedPreferences的操作:

代码语言:javascript
复制
fun SharedPreferences.put(key: String, value: Any?) {
    val editor = this.edit()
    when (value) {
        is String -> editor.putString(key, value)
        is Int -> editor.putInt(key, value)
        is Boolean -> editor.putBoolean(key, value)
        is Float -> editor.putFloat(key, value)
        is Long -> editor.putLong(key, value)
        is Set<*> -> editor.putStringSet(key, value as? Set<String>)
        null -> editor.remove(key)
    }.apply()
}

fun SharedPreferences.get(key: String, defaultValue: Any?): Any? {
    return when (defaultValue) {
        is String -> getString(key, defaultValue)
        is Int -> getInt(key, defaultValue as Int)
        is Boolean -> getBoolean(key, defaultValue as Boolean)
        is Float -> getFloat(key, defaultValue as Float)
        is Long -> getLong(key, defaultValue as Long)
        is Set<*> -> getStringSet(key, defaultValue as? Set<String>)
        null -> null
    }
}

使用这些扩展函数,你可以更简洁地读写SharedPreferences

代码语言:javascript
复制
val sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
sharedPreferences.put("key", "value")
val value = sharedPreferences.get<String>("key", "default_value")

这些示例展示了如何在Android Kotlin中使用SharedPreferences来存储和检索数据,这与iOS Swift中的UserDefaults提供了类似的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券