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 :

comment fonctionne SaveInstanceState


Sujet :

Android

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 23
    Points : 20
    Points
    20
    Par défaut comment fonctionne SaveInstanceState
    bonjour,
    je début sous android, je développe une App et j'ai besoin de sauvegarder des champs (edittext) !
    je voulai utiliser SaveInstanceState avec le Bundle mais je n'y arrive pas !
    malgré quelque exemple sur le net , ca reste floux pour moi et je n'arrive pas a sauvegarder des saisies dans un edit text si je fait un retour ou si il y a rotation !
    j'ai cherché dans les tutos mais j'ai pas trouvé (ou mal cherché c'est possible aussi !)

    vous pouvez me conseiller un bonne exemple .
    merci

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Salut,

    Peux-tu nous montrer ton code déjà, ça serai un bon début pour en discuter...
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    ok
    alors voila mon onCreate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
            setContentView(R.layout.vue1);
     
            //j'ai un edittext dans mon xml
            EditNomCr = (TextView) findViewById(R.id.editText1);  
     
     
            if(savedInstanceState != null){
            	String str1 = new String();
            	str1 = savedInstanceState.getString("nomCR");
            	Toast.makeText(vue1.this, str1, Toast.LENGTH_SHORT).show();
            	EditNomCr.setText(str1);
            }
     
     
    	}
    puis le onSaveInstanceState ou je récupaire le contenue du edittext si je sort !! (je croie que ca marche comme ca )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     protected void onSaveInstanceState(Bundle outState)
    	 {
    		EditNomCr = (TextView) findViewById(R.id.editText1);
    		String str1 = new String();
    		str1 = EditNomCr.toString();
    	  outState.putString("nomCR", str1);
    	  super.onSaveInstanceState(outState);
    	 }
    et j'ai vue que l'on pouvez utiliser aussi onRestoreInstanceState mais je pense que là ca ne me sert à rien !! mais voila le code !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void onRestoreInstanceState(Bundle savedInstanceState) { 
    	  super.onRestoreInstanceState(savedInstanceState); 
    	  // Restore UI state from the savedInstanceState. 
    	  // This bundle has also been passed to onCreate. 
     
    	  String myString = savedInstanceState.getString("nomCR"); 
    	}
    je suis un peux perdu . dans l'App que je doit faire je vais avoir plusieurs edit text à sauvé mais là je fait un test sur déjà !

  4. #4
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Dans ton cas je pense que ca ne sert à rien car toutes les vues qui ont un id ont leur état sauvé/rechargé automatiquement en fonction du cycle de vie de l'activité.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    ok

    mais si je quitte l'activité par accident (sachant que j'ai une activité avent qui l'appel via un click) et que je veux revenir dessus , je doit bien sauvegarder mes saisies .

    merci en tout cas pour la réponse

  6. #6
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Je ne suis pas sûr d'avoir compris ton problème. Revenir à une activité précédente est déjà géré par le système.
    Par contre, si tu presses le bouton 'BACK', alors ton activité courante est détruite. Ce n'est donc plus au niveau de onSave/onRestore que cela se joue, mais plutôt autour de onDestroy/onCreate
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 23
    Points : 20
    Points
    20
    Par défaut
    oui c'est exactement ca !!
    je doit prévoir tout mauvaise manip car le but est de créer une App utilisé par des personne pas toujours au fait de la technologie

  8. #8
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par bibmanhjp Voir le message
    bonjour,
    je début sous android, je développe une App et j'ai besoin de sauvegarder des champs (edittext) !
    je voulai utiliser SaveInstanceState avec le Bundle mais je n'y arrive pas !
    Comme dit par Hephaistos007 ceci est déjà fait par le systeme dans le cas classique... (rotation par exemple, lancement d'une autre appli avec destruction de la courante, ...).

    Par contre si tu veux sauvegarder toujours l'état, tu peux toujours créer un Bundle (en appelant onSaveInstanceState) à la sortie de la page, et le serialiser dans des préférences de l'application (ou dans un fichier). Et sur le onCreate, si tu n'as pas de bundle, récupérer le bundle sauvegardé à la place (avant d'appeler le onCreate du parent).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. [JSF] comment fonctionne <h:message> ?
    Par anitshka dans le forum JSF
    Réponses: 5
    Dernier message: 29/06/2005, 17h36
  2. Comment fonctionne TXmlDocumment ????
    Par almisuifre dans le forum C++Builder
    Réponses: 8
    Dernier message: 18/02/2005, 12h54
  3. comment fonctionne une interface graphique???
    Par elekis dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 27/10/2004, 23h10
  4. Comment fonctionne le ClassExplorer ?
    Par borisd dans le forum C++Builder
    Réponses: 7
    Dernier message: 30/09/2004, 17h44
  5. Comment fonctionne le CVS ?
    Par mathieu dans le forum CVS
    Réponses: 6
    Dernier message: 23/03/2004, 11h26

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