📅  最后修改于: 2023-12-03 15:29:24.538000             🧑  作者: Mango
Android 首选项管理器已弃用 Substitution 提供了一种简便的方法来存储和管理应用程序的偏好设置(如用户设置),而无需使用 SQLite 数据库。但是,自 Android 11 开始,Substitution 已被弃用。替代方案是使用 Jetpack 库中的 数据存储。
Substitution 存在一些问题,包括:
因此,Android 团队决定弃用 Substitution 并推荐使用其他更好的解决方案。
替代方案是使用 Jetpack 库中的数据存储。数据存储提供了四个主要的存储选项:
数据存储提供了更好的性能、安全性和可靠性,因此建议在应用程序中使用。
使用数据存储非常简单。下面是示例代码,使用 SharedPreferences 存储键-值对:
// 获取 SharedPreference 对象
val sharedPref = context.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE)
// 写入数据
with (sharedPref.edit()) {
putBoolean(getString(R.string.saved_high_score_key), true)
apply()
}
// 读取数据
val defaultValue = resources.getBoolean(R.bool.saved_high_score_default)
val highScore = sharedPref.getBoolean(getString(R.string.saved_high_score_key), defaultValue)
请注意,从 Android 10 开始,应用程序默认不能访问外部存储,因此需要请求相应的权限。
Android 首选项管理器已弃用 Substitution,使用数据存储作为替代方案。数据存储提供了更好的性能、安全性和可靠性。使用数据存储非常简单,可以使用 SharedPreferences 来存储键-值对。从 Android 10 开始,默认情况下应用程序不能访问外部存储,因此需要请求权限。