0

我在 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 中显示上述首选项,效果很好,但是我希望能够通过每周从 Internet 下载一个新设置来更新设置。

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

4

2 回答 2

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

于 2010-09-24T16:39:39.043 回答
2

查看这篇文章以获取 PreferenceEditor对象: 如何在代码中设置首选项?

在你得到之前Editor

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

于 2010-09-23T15:45:20.627 回答