Skip to content

SharedPreferences 是 Android 提供的一种轻量级的数据存储机制,用于存储键值对(key-value)形式的数据。主要特点包括:

  1. 持久化存储
    • 数据会以 XML 文件的形式存储在设备的内部存储中,即使应用关闭或者设备重启,这些数据仍然存在。
  2. 适合存储少量数据
    • 适用于保存一些简单的配置数据、用户偏好、登录状态、用户设置等信息,而不适合存储大量或复杂的数据。
  3. 简单易用
    • 通过简单的 API,可以方便地进行读写操作。例如,可以存储字符串、布尔值、整数等基本数据类型。
  4. 作用范围
    • 通常使用 Context.getSharedPreferences() 获取一个 SharedPreferences 实例,并指定存储文件名和模式。
    • 数据通常是以应用为范围隔离的,其他应用不能直接访问。

示例

保存数据(例如保存用户登录状态和角色):

kotlin
val sharedPrefs = context.getSharedPreferences("user_prefs", Context.MODE_PRIVATE)
with(sharedPrefs.edit()) {
    putString("user_role", "STUDENT") // 保存角色为 STUDENT
    apply()  // 提交更改(apply 是异步提交,commit 是同步提交)
}

读取数据

kotlin
val sharedPrefs = context.getSharedPreferences("user_prefs", Context.MODE_PRIVATE)
val role = sharedPrefs.getString("user_role", null)  // 如果没有保存则返回 null

总的来说,SharedPreferences 提供了一种简单高效的方法,方便你在 Android 应用中存储和读取一些小数据,例如用户登录状态、设置参数等。

查看里面存储的内容:

image-20250307032952963