Bonjour
Est il possible d'avoir plusieurs fichiers préférences pour une seule activité.
en fonction du bouton appuyer sur l'activité précédente j'aimerai chargé des préférences différentes a l'ouverture de la deuxième activité.
Merci d'avance
Gilles
Bonjour
Est il possible d'avoir plusieurs fichiers préférences pour une seule activité.
en fonction du bouton appuyer sur l'activité précédente j'aimerai chargé des préférences différentes a l'ouverture de la deuxième activité.
Merci d'avance
Gilles
Bonjour,
tu fais référence à SharedPreferences lorsque tu écris "fichiers préférences" ?
Bonjour
Oui c'est cela désolé de ne pas avoir employé le bon jargon, je suis débutant.
Je me posais également la question, du temps de chargement d'un fichier SharedPreferences s'il était gros (environ 100 lignes)
Parce que si je ne peux pas avoir plusieurs SharedPreferences sur une activité, je peux toujours les répartir en categories.
Mais la lecture risque de prendre du temps, qu'en pensez vous?
Oui tu peux nommer tes fichiers préférences donc en avoir plusieurs. Après un fichier de 100 lignes ca consomme que dalle.
Merci pour la reponse
Aurais tu la manière de faire le deuxieme fichier ainsi que pour le lire
je fais le premier comme cela s'il n'a jamais été fabriquer
je le lis comme cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part PreferenceManager.setDefaultValues(this, R.xml.pref_ipx, false)
comment faire avec le deuxieme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Relais.setDescriptionRelais(prefs.getString("relais_"+i, ""));
Merci
Gilles
ca serait plutôt comme ceci qu'il faudrait faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SharedPreferences pref1 = getSharedPreferences("My_FIRST_PREF", Context.MODE_PRIVATE); SharedPreferences pref2 = getSharedPreferences("My_SECOND_PREF", Context.MODE_PRIVATE); //Lorsque tu veux ajouter dans les preferences 1: pref1.edit().putString("name", "ma_chaine").apply(); //récupérer cet élèment ajouté pref1.getString("name", ""); //idem avec les preferences 2 pref2.edit().putString("name", "ma_chaine").apply(); pref2.getString("name", "");
Et en mettant toutes les clés en constante histoire de ne pas avoir de mauvaise surprise et faciliter la maintenance et la lisibilité![]()
C'est Android, PAS Androïd, ou Androïde didiou !
Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.
Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.
N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
et/ou en créant une classe d'accès aux préférences avec des méthodes statiques. Comme cela, on gère les préférences à un seul endroit dans notre programme![]()
Merci de vos réponses
Estérésis
Je vais essayer, je reviendrai pour donner le résultat.
Hizin
Je fais une boucle sur le nom des clés c'est pour ca que je ne les ai pas mises en constante.
De plus si j'arrive a avoir 2 fichiers xml de préférences, alors les noms des clés seront les même, car un seul fichier doit être chargé.
David55
J'ai un loader qui tourne dans un thread séparé pour chargé le fichier de préférences, c'est lui qui me détecte si une préférence a changé afin que je puisse l'afficher immédiatement.
Ensuite je ne fais qu'interroger les clés pour savoir ce qu'il y a dedans et afficher ma liste.
Je ne vois pas l' intérêt de faire une classe d’accès aux préférences (je rappelle que je suis débutant)
Gilles
Partager