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 :

Persistence des données (Débutant)


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Persistence des données (Débutant)
    Bonjour,
    Dans le cadre de mon etude du dev sous android, je m attelle aujourd'hui aux differentes forme de persistence, en l occurence la premiere de toute celle qui passe par l utlisation de la classe SharedPreferences.
    Mon appli est toute bete, il y a un layout qui contient un TextView, un Editview.
    Lorsque je demarre l application je saisie une valeur dans l EditView, lorsque je ferme l application je "sauvegarde" cette valeur.Quand je relance l appli je veux mettre la valeur sauvegardée dans le TextView et pouvoir resaisir une nouvelle valeur.
    Alors la premiere fois ca c est tres bien passé j ai saisi une valeur et fermé l appli.
    Depuis quand je l ouvre j' ai un message d erreur : Sorry the application ... please try again.

    Si je mets en commentaires le code qui valorise le texte de la textView je n ai plus l erreur ! (en rouge)
    Mais la je ne vois vraiment pas comment faire ???
    Merci de l aide des experts !
    Voici le code :
    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
    public class xtTut01 extends Activity {
        public static final String XT_PREF_TUT01 = "MyPrefTut01";
        public static final String XT_PREF_ND = "notDefined";
        private EditText mText;
        private SharedPreferences xtTut01Settings;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            xtTut01Settings = getSharedPreferences(XT_PREF_TUT01, 0);
            TextView mView = (TextView)findViewById(R.id.anc_val);
            String result = (String)xtTut01Settings.getString(XT_PREF_TUT01, XT_PREF_ND);
           if (result!=XT_PREF_ND && result!=null) {
    
               mView.setText(result);
    
            }
            setContentView(R.layout.main);
        }  
        @Override
        public void onStop(){
            super.onStop();
            SharedPreferences.Editor editor = xtTut01Settings.edit();
            mText = (EditText)findViewById(R.id.text);
            CharSequence test = (CharSequence)mText.getText();
            editor.putString(XT_PREF_TUT01,test.toString());
            editor.commit();
        }
    }
    Merci de votre aide !

  2. #2
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    Par défaut
    Salut,

    Met le SetContentView au tout début

    je pense que ta mView doit être nulle lors du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            xtTut01Settings = getSharedPreferences(XT_PREF_TUT01, 0);
            TextView mView = (TextView)findViewById(R.id.anc_val);
            String result = (String)xtTut01Settings.getString(XT_PREF_TUT01, XT_PREF_ND);
           if (result!=XT_PREF_ND && result!=null) {
     
               mView.setText(result);
     
            }
     
        }
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 9
    Points : 9
    Points
    9
    Par défaut
    Exact !
    Ca roule , merci !

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

Discussions similaires

  1. Persistance des données
    Par gdnico dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 16/05/2007, 17h31
  2. Récuperer des données [Débutant]
    Par babykichon dans le forum JBuilder
    Réponses: 5
    Dernier message: 25/04/2007, 10h14
  3. Réponses: 2
    Dernier message: 19/04/2007, 16h59
  4. Persistance des données en mémoire
    Par giviz dans le forum Architecture
    Réponses: 13
    Dernier message: 21/12/2004, 09h44
  5. [Strategie]persistance des données
    Par altropus dans le forum Persistance des données
    Réponses: 6
    Dernier message: 04/11/2004, 04h36

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