Android Kotlin -保存偏好(键值对)-不适合我



我正在尝试各种简单的Android Kotlin示例,在我的应用程序中保存一些持久的数据。首先,我将使用一个简单的示例,即写入一个键值对并读取它。这是我的代码,在我的活动的OnCreate()

val sharedPrefFile = "MyPrefFile"
val sharedPreferences: SharedPreferences = this.getSharedPreferences(sharedPrefFile, Context.MODE_PRIVATE)
fun setPref()
{
val editor = sharedPreferences.edit()
val myName = "Elvis"
editor.putString("nameFirst_key", myName)
}
fun getPref()
{
val myName = sharedPreferences.getString("nameFirst_key", "no_name")
}
getPref()
setPref()
getPref()

我希望第一个getPref()调用读取"no_name",它确实做到了。然而,我希望第二个getPref()调用将读取"Elvis",但它没有-它读取"no_name"。

谁能告诉我我做错了什么?

感谢加勒特

您没有在editor上调用commit()apply(),因此编辑没有生效。这在文档中有介绍。

因此,setPref()应为:

fun setPref()
{
val editor = sharedPreferences.edit()
val myName = "Elvis"
editor.putString("nameFirst_key", myName).apply()
}

相关内容

  • 没有找到相关文章