IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Récupérer la valeur d'une préférence


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Par défaut Récupérer la valeur d'une préférence
    Bonjour

    Sur mon application, j'ai défini les préférences avec un fichier xml.
    Dans l'application, j'arrive bien à saisir les valeurs
    J'aimerai récupérer la valeur d'une des préférences mais en cherchant comme faire, je ne trouve qu'une solution, c'est de créer une classe préférence qui me permette de récupérer ces données.

    Je suis étonné de ne pas trouver une fonction qui permette de récupérer la valeur de ma préférence sans avoir besoin de redéfinir une classe pour si peu.
    Est ce que j'ai loupé quelque chose ?
    Connaissez vous une telle fonction ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Bonjour,
    Tu peux juste déclarer un objet SharedPreference pour récupérer tes informations :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    myString = preferences.getString("maPref", "");

  3. #3
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Pour compléter la réponse d'AndroChristophe, tu trouveras quelques exemples sur ce lien :
    http://developer.android.com/guide/t...a-storage.html

  4. #4
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Par défaut
    Bonjour,

    Oui tu es obligé de te créer une classe héritant de PreferenceActivity.
    Tu peux récupérer les valeurs modifiées par deux méthodes : onPreferenceChange() et onPreferenceClick().
    A toi de voir ce que tu veux en faire une fois récupérées.
    Moi je te conseille de les sauvegarder dans un PreferenceManager, voir les messages précédents.

    @AndroCristophe et Feanorin : Si j'ai bien compris, son problème n'est pas de stocker une valeur en utilisant le système des préférences, mais de récupérer la valeur d'une préférence définie dans un PreferenceScreen.

    Bonne continuation.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Par défaut
    Merci déjà pour ces réponses.

    Je pense que je n'ai pas été clair dans mon message.
    Mon besoin, c'est de récupérer un paramètre défini dans les préférences depuis une action défini dans une autre activité.
    Je cherche une fonction du type : getPreferenceString(maClé)

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Ben AndroChristophe t'avais donnée la solution :

    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    myString = preferences.getString("maPref", "");
    http://developer.android.com/referen...ferences.html{
    Tu as plusieurs type Boolean , Float , String , ...


    Je t'avais juste donné le lien pour que tu puisses trouver plus facilement les procédure pour un SharedPreference ainsi que des exemples .


    Edit :
    Effectivement je n'avais pas lu assez attentivement la première ligne. Mais la lecture du fichier ne se fait qu'à la première ouverture de l'application (ou s'il existe un bouton rétablir les paramètres d'origine), après les préférences sont stockées dans le SharedPreferences du téléphone, non ?
    Pour récupérer les valeurs d'origines , tu peux toujours aller récupérer les valeurs que tu as définies comme défauts dans ton code , puisque tu les connais .


    Oui tu es obligé de te créer une classe héritant de PreferenceActivity.
    Tu peux récupérer les valeurs modifiées par deux méthodes : onPreferenceChange() et onPreferenceClick().
    A toi de voir ce que tu veux en faire une fois récupérées.
    Moi je te conseille de les sauvegarder dans un PreferenceManager, voir les messages précédents.
    Cela est intéressant d'utiliser ces deux fonctions lorsque nous avons besoin de connaître les changements de préférences en temps réel (ou filtrer/borner ces changement), après si c'est juste avoir besoin de ces préférences à un moment t , alors la solution proposé par AndroChristophe est la bonne .

    @AndroCristophe et Feanorin : Si j'ai bien compris, son problème n'est pas de stocker une valeur en utilisant le système des préférences, mais de récupérer la valeur d'une préférence définie dans un PreferenceScreen.
    Mouaip mea culpa ,je n'aurais pas du mettre le lien vers l'exemple du commit , mais à partir de cette page il y a tout les élements nécessaire à la bonne utilisation des SharedPreferences .

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Citation Envoyé par Viish Voir le message
    @AndroCristophe et Feanorin : Si j'ai bien compris, son problème n'est pas de stocker une valeur en utilisant le système des préférences, mais de récupérer la valeur d'une préférence définie dans un PreferenceScreen.
    Effectivement je n'avais pas lu assez attentivement la première ligne. Mais la lecture du fichier ne se fait qu'à la première ouverture de l'application (ou s'il existe un bouton rétablir les paramètres d'origine), après les préférences sont stockées dans le SharedPreferences du téléphone, non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer la valeur d'une variable distante
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2005, 16h10
  2. récupérer la valeur d'une checkbox
    Par druglord dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/08/2005, 13h54
  3. Récupérer la valeur d'une adresse hexa 300.
    Par Cochman dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 04/06/2005, 17h45
  4. Réponses: 2
    Dernier message: 29/05/2005, 19h50
  5. [C#] [Automation Word] Récupérer la valeur d'une cellule
    Par Ditch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/06/2004, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo