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 :

Problème sauvegarde données après rotation de l'écran


Sujet :

Android

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 23
    Points : 22
    Points
    22
    Par défaut Problème sauvegarde données après rotation de l'écran
    Bonjour a tous,

    J'ai un soucis concernant la sauvegarde des données après la rotation de l'écran.
    J'ai deux activités :
    - Additionneur (activity appelante)
    - NumeroterEtCetera (activity appelée)

    Voici l'activity Additionneur :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    public class AdditionneurActivity extends Activity {
        private static final int REQUEST_CODE = 999;
        private int val;
        private TextView resultat;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_additionneur);
     
            if(savedInstanceState != null){
                resultat.setText(savedInstanceState.getString("res").toString());
            }else {
                resultat = (TextView) findViewById(R.id.resultat);
            }
        }
     
        public void onClickAjouterNombre(View view){
            Intent intent = new Intent("df.exo3.NUMEROTATION");
            startActivityForResult(intent, REQUEST_CODE);
        }
     
        public void onClickReset(View view){
            resultat.setText("0");
        }
     
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if(resultCode == RESULT_OK && requestCode == REQUEST_CODE && data.hasExtra("chiffres")) {
                Bundle extras = data.getExtras();
                String val = extras.getString("chiffres");
                int somme = Integer.parseInt(val)+Integer.parseInt(resultat.getText().toString());
                resultat.setText(somme + "");
            }
        }
     
        protected void onSaveInstanceState(Bundle outState) {
            super.onSaveInstanceState(outState);
            outState.putString("res", resultat.getText() + "");
        }
    }

    Et l'activity NumeroterEtCetera :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    public class NumeroterActivity extends Activity {
    	private String saisie = "";
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_numeroter);
    		if(savedInstanceState != null){
    			saisie = savedInstanceState.getString("saisie");
    		}
    	}
     
    	public void newChiffre(View v) {
    		Button  bouton = (Button) v;
    		saisie += bouton.getText();
    	}
     
    	public void toucheDel(View v) {
    		if (saisie.length() > 0)
    			saisie = saisie.substring(0, saisie.length()-1);
    	}
     
    	public void toucheReset(View v) {
    		saisie = "";
    	}
     
    	public void toucheOk(View v) {
    	    Intent intentionResult = new Intent();
    	    intentionResult.putExtra("chiffres", saisie);
    		setResult(RESULT_OK, intentionResult);
    	    this.finish();
    	}
     
    	protected void onSaveInstanceState(Bundle outState){
    		super.onSaveInstanceState(outState);
    		outState.putString("saisie",saisie);
    	}
     
    }

    Le but est d'appeler l'activité NumeroterEtCetera (à partir de l'activité Additionneur), de composer un numéro et de renvoyer ce numéro à l'activité Additionneur qui va afficher à chaque fois la somme des numéros saisies.

    Mon problème est que lorsque dans l'activité NumeroterEtCetera:
    - je compose un numéro
    - puis je fais une rotation juste après
    - enfin je valide le numéro saisie mais l'application plante !

    Si je ne fais pas de rotation entre la composition du numéro et la validation du numéro saisie, le programme ne plante pas.

    Quelqu'un a une solution à me proposer ?

    Merci d'avance

    Mohaskh

  2. #2
    Membre du Club Avatar de kader15
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2016
    Messages : 65
    Points : 43
    Points
    43
    Par défaut
    Essaie avec les sharedPreference pour stocker tes variables
    Cordialement,


    Partager notre connaissance, c'est le début d'un monde en Paix.

    "L'ignorance mène à la peur, la peur mène à la haine et la haine conduit à la violence. Voilà l'équation." Averroès

    Ball Is Life !

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/04/2010, 18h30
  2. problème sauvegarde de la base de données
    Par bachelre dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/07/2008, 17h35
  3. Réponses: 1
    Dernier message: 17/06/2008, 12h02
  4. Réponses: 1
    Dernier message: 21/02/2008, 12h52
  5. [Récupération]Base de données après problème disque
    Par Cyborg289 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 15/02/2006, 15h08

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