SharedPreferences 是 Android 提供的一种轻量级的数据存储机制,用于存储键值对(key-value)形式的数据。主要特点包括:
- 持久化存储:
- 数据会以 XML 文件的形式存储在设备的内部存储中,即使应用关闭或者设备重启,这些数据仍然存在。
- 适合存储少量数据:
- 适用于保存一些简单的配置数据、用户偏好、登录状态、用户设置等信息,而不适合存储大量或复杂的数据。
- 简单易用:
- 通过简单的 API,可以方便地进行读写操作。例如,可以存储字符串、布尔值、整数等基本数据类型。
- 作用范围:
- 通常使用
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 应用中存储和读取一些小数据,例如用户登录状态、设置参数等。