Android如何获得特定的偏好?

时间:2010-09-23 14:47:09

标签: android xml android-preferences preference

我在res / xml / preferences.xml中的应用程序中有以下代码:


<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Wi-Fi settings">


   <EditTextPreference
            android:key="pref_voice_threshold_top"
            android:title="@string/title_pref_voicetopthreshold"
            android:dialogTitle="@string/dialog_title_pref_voicetopthreshold" 
            android:defaultValue="20"
            android:inputType="number"/>

</PreferenceCategory>

</PreferenceScreen>

我想知道我是否可以在代码中使用此首选项,以便通过下载xml文件来更新它?

所以我目前在PreferenceActivity中显示上述首选项,该工作正常,但我希望能够通过每周从互联网下载新设置来更新设置。

所以我的问题是如何在代码中打开此首选项并将其值设置为新下载的值?

2 个答案:

答案 0 :(得分:4)

正如McStretch所说,你必须得到

的偏好
sharedPreferences = getSharedPreferences("com.yourname.yourapp_preference", 0);
Editor editor = sharedPreferences.edit();

editor.putString("your_optionname", "newValue");
// Save
editor.commit();

com.yourname.yourapp_preference是xml文件的名称。它通常位于/data/data/com.yourname.yourapp/shared_prefs/com.yourname.yourapp_preference.xml

只需查看该目录即可查看文件的命名方式,但基本上它应该是packagename_perference.xml

答案 1 :(得分:2)

查看此帖子以获取偏好Editor对象:How do I set a preference in code?

在获得Editor

之前

解析XML以获取所需的首选项值,然后使用Editor检索正确的首选项并随后进行设置。