如果您有想要保存的相对较小键值对集合,则应使用
本页介绍了如何使用
注意:设置开发者指南。
获取共享偏好设置的句柄
您可以通过调用以下方法之一创建新的共享偏好设置文件或访问已有共享偏好设置文件:
例如,以下代码可访问由资源字符串 R.string.preference_file_key 标识的共享偏好设置文件,并在私有模式下打开该文件,以便只有您的应用可以访问该文件:
Kotlin
val sharedPref = activity?.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE)Java
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE);
为您的共享偏好设置文件命名时,应使用可唯一标识您的应用的名称。一种简单的方法是将应用 ID 作为文件名的前缀。例如:"com.example.myapp.PREFERENCE_FILE_KEY"
或者,如果您只需要 Activity 的一个共享偏好设置文件,则可以使用
Kotlin
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE)Java
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
注意:自 API 级别 17 起,共享文件。
写入共享偏好设置
注意:通过对 EncryptedSharedPreferences 对象(而不是 SharedPreferences 对象)调用 edit() 方法,您可以更安全地修改共享偏好设置。如需了解详情,请参阅有关如何更安全地处理数据的指南。
Kotlin
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
with (sharedPref.edit()) {
putInt(getString(R.string.saved_high_score_key), newHighScore)
commit()
}Java
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score_key), newHighScore);
editor.commit();
从共享偏好设置中读取
如需从共享偏好设置文件中检索值,请调用
Kotlin
val sharedPref = activity?.getPreferences(Context.MODE_PRIVATE) ?: return
val defaultValue = resources.getInteger(R.integer.saved_high_score_default_key)
val highScore = sharedPref.getInt(getString(R.string.saved_high_score_key), defaultValue)Java
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
int defaultValue = getResources().getInteger(R.integer.saved_high_score_default_key);
int highScore = sharedPref.getInt(getString(R.string.saved_high_score_key), defaultValue);