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 :

gestion des share preferences


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 128
    Par défaut gestion des share preferences
    Bonjour a tous !!

    Je voudrais enregistrer une variable int dans les share preferences.

    Cette variable est une variable d'activité (numéro de facture)

    Cette variable je l'incrémente dans une méthode qui est dans la meme activité.

    J'ai vu que pour enregistrer une shar preferences il fallais faire appel a cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addPreferencesFromResource(R.xml.preference);
    c'est bien gentil tout ca mais si je veux enregistrer une variable d'une activité et récuperer cette variable dans cette meme activité je ne peux pas.

    Comment puis-je faire simplement pour enregistrer cette varibale la garder en mémoire et la récupérer tout simplement dans ma méthode que je veux ?

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    Ouh ! Non ce n'est pas du tout cela.
    Pour enregistrer une valeur il fait faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Editor e = PreferenceManager.getDefaultSharedPreferences(this).edit();
    e.putString("key","value");
    e.apply();
    Pour la récupérer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PreferenceManager.getDefaultSharedPreferences(this).getString("key");
    Plus d'infos ici

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 128
    Par défaut
    Merci de ta réponse. Cependant je comprends vraiment pas.

    Premièrement, ma variable est un int.
    Secondement, il faut bien faire un fichier de préférences. Et donc la j'écris pas dans le fichier. Il n'y a pas de procédure exacte ?

    Typiquement voila mon activité (je n'en ai qu'une)

    Je dois faire des commande de nourriture (pour le moment j'essaye juste avec un ingrédient) et je dois sortir une facture.

    Ce numéro de facture doit être unique. Il commence à 0 et je voudrais qu'il s'incrémente a chaque nouvelle facture (ca j'y arrive).

    Problème dès que je quitte l'application ce compteur reviens à 0 (normal c'est une variable d'aplication).

    Que faut'il faire exactement ? Quelle est la procédure ? j'ai bien trouver quelques tuto tels que celui ci

    http://android.developpez.com/cours/

    mais la il faut avoir un fichier de préférence et ils disent bien qu'il faut faire cela.

    du coup je ne comprends vraiment pas.

    Merci d'avance

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Par défaut
    Citation Envoyé par ruyeken Voir le message

    Premièrement, ma variable est un int.
    Tu peux simplement Faire un putint(key, value)pour enregistrer et un getint pour récupérer ton int.
    Avec un String, tu peux le convertir en int avec Integer.valueOf(String).
    Ensuite, une fois ta variable récupérer, pour faire ton incrémentation c’est juste un compteur tout simple.

    Citation Envoyé par ruyeken Voir le message
    Secondement, il faut bien faire un fichier de préférences. Et donc la j'écris pas dans le fichier. Il n'y a pas de procédure exacte ?
    tu as pas besoin de rentrer dans les fichiers, c'est gérer par android via le PreferenceManager.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 128
    Par défaut
    bon alors j'ai essayer deux trois trucs cependant toujours rien.

    voila ce que j'ai tester.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    invc_no++;
    		Editor e = PreferenceManager.getDefaultSharedPreferences(this).edit();
    		e.putInt("invc_no",invc_no);
     
    		int var = PreferenceManager.getDefaultSharedPreferences(this).getInt("invc_no", invc_no);
    		final String sInvc_no = var + "";
     
    		builder.setMessage("Voulez-vous enregistrer la commande numéro "
    				+ var + " ?");
    invc_no c'est mon numéro de facture.

    La ca ne marche pas. Etant donné que quand j'initialise var il récupere le invc_no (qui lui est déclaré en variable d'activité) donc dès que je quitte il enregistre le invc_no du haut qui est initialiser à 0.

    Or pou récuperer mon int il demande un deuxième paramètre obligatoirement.

    Comment je peux faire ?

    Merci d'avance

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Par défaut
    tu oublie d'enregistrer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    invc_no++;
    		Editor e = PreferenceManager.getDefaultSharedPreferences(this).edit();
    		e.putInt("invc_no",invc_no);
                    e.commit();
     
    		int var = PreferenceManager.getDefaultSharedPreferences(this).getInt("invc_no", invc_no);
    		final String sInvc_no = var + "";
     
    		builder.setMessage("Voulez-vous enregistrer la commande numéro "
    				+ var + " ?");
    édite: Pour le deuxième paramètre du getInt, c'est la valeur par défaut: ce qui vas être récupéré lorsqu'il n'y a aucun sharedPreferences enregistrer avec ce nom.

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

Discussions similaires

  1. Gestion des users de share point
    Par Yepazix dans le forum SharePoint
    Réponses: 6
    Dernier message: 09/09/2007, 13h40
  2. [reseaux] Gestion des threads en perl
    Par totox17 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 28/11/2002, 09h40
  3. Gestion des variables - mémoire ?
    Par RIVOLLET dans le forum Langage
    Réponses: 4
    Dernier message: 26/10/2002, 12h44
  4. Réponses: 4
    Dernier message: 04/07/2002, 12h31
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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