java - 在哪里存储 Android 偏好键?

标签 java android android-preferences

当我创建偏好 Activity 时,我会在 xml 文件中定义所有偏好。每个首选项都有一个在此 xml 中定义的键。但是当我访问首选项时,我会写:

SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean foo_value = appPreferences.getBoolean("foo_key_defined_in_xml", false);

有什么方法可以避免以硬编码方式引用“foo_key_defined_in_xml”? 也许有可能以 R 风格的方式引用它(而不是引用字符串)?

最佳答案

我发现可以将键存储在 strings.xml 中并从 preferences.xml 中引用它们,就像所有其他值 android:key="@string/preference_enable" .

在代码中,您可以通过键入 getString(R.string.preference_enable) 来引用 key

您可以使用 <xliff:g> 将字符串标记为不翻译。标签。见 Localization Checklist

<string name="preference_enable"><xliff:g id="preference_key">enable</xliff:g></string>

关于java - 在哪里存储 Android 偏好键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2857121/

相关文章:

Java - 返回通用基本类型的工厂方法

java - 无法解析 android.arch.lifecycle :livedata:1. 1.1 Android Studio 3.6.1 Mac

java - 如何在java中返回字符串中最长的字符序列?

android - 如何在折叠工具栏android中实现滑动图像

JavaEE : Strange behavior when implement logging

Android list 应用程序 :theme

android - 如何从 sqlite 数据库中列出表名 -- Android

android - 新的 Android 12+ MaterialSwitch 和 androidx.preference

android - 从 Activity 切换到嵌套的 PreferenceScreen

android - 实时更新偏好