Android comment obtenir la préférence spécifique?
-
04-10-2019 - |
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?
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.