Question

Je le code suivant dans mon application dans 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>

Et je me demandais moi est-il possible d'utiliser ensuite cette préférence dans le code afin que je puisse le mettre à jour via le téléchargement d'un fichier xml?

J'affiche actuellement la préférence ci-dessus dans un PreferenceActivity, qui fonctionne très bien, mais je veux être en mesure de mettre à jour le réglage en téléchargeant un nouveau paramètre chaque semaine sur Internet.

Alors, ma question est de savoir comment puis-je ouvrir cette préférence dans le code et définir sa valeur à la nouvelle valeur téléchargée?

Était-ce utile?

La solution

Comme McStretch dit, vous devez obtenir la préférence avec

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

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

Le com.yourname.yourapp_preference est le nom du fichier xml. Il est généralement situé à /data/data/com.yourname.yourapp/shared_prefs/com.yourname.yourapp_preference.xml

Il suffit de consulter ce répertoire pour voir comment votre fichier est nommé, mais, fondamentalement, il devrait, par défaut, packagename_perference.xml

Autres conseils

Jetez un oeil à ce poste afin de saisir un objet Editor Préférence: Comment puis-je définir une préférence dans le code?

Avant d'obtenir le Editor:

Parse XML pour obtenir vos valeurs de préférence souhaitées, puis utilisez la Editor pour récupérer la préférence correcte, puis le régler.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top