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 :

serialisation d'un objet sous Android


Sujet :

Android

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 26
    Par défaut serialisation d'un objet sous Android
    Bonjour à tous!
    Voici mon problème :
    je dois garder en mémoire des données de mon application android. C'est à dire que lorsque j'allume mon système, il doit pouvoir retrouver ces données. Dans mon cas, j'aimerais sauvegarder un simple tableau.
    J'ai donc crée une classe "bdd" qui n'est rien de plus qu'un tableau de String. J'ai implémenté l'interface Serializable, et dans ma main, j'ai crée une méthose Serializer et une Deserializer.
    Mais lorsque je coupe l'émulateur,et que je le relance plus tard, si j'appelle Deserializer il ne retrouve aucune données (null...)
    Je ne comprends pas trop...
    Voici mes méthodes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public static void Serializerbdd() {
     
    	    try {
    	      FileOutputStream fichier = new FileOutputStream("bdd.ser");
    	      ObjectOutputStream oos = new ObjectOutputStream(fichier);
    	      oos.writeObject(bdd);
    	      oos.flush();
    	      oos.close();
    	    }
    	    catch (java.io.IOException e) {
    	      e.printStackTrace();
    	    }
    	  }

    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
    public static void DeSerializerbdd() {
    		    try {
    		      FileInputStream fichier2 = new FileInputStream("bdd.ser");
    		      ObjectInputStream ois = new ObjectInputStream(fichier2);
    		      bdd = (Bdd) ois.readObject();
    		      ois.close();
     
    		    } 
    		    catch (java.io.IOException e) {
    		      e.printStackTrace();
    		    }
     
    		    catch (ClassNotFoundException e) {
    		      e.printStackTrace();
    		    }
     
     
     
     
    		   }

    Voici ma classe Bdd :

    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
     
     
    import java.io.Serializable;
     
     
    public class Bdd  implements Serializable{
     
    	String [] memoire = new String [30];
     
     
     
    	public void setphrase(int i, String phrase)
    	{
    		memoire[i]=phrase;
    	}
     
     
     
    	public String getphrase(int i)
    	{
    		return memoire[i];
    	}
     
     
    }
    En gros, je fais un bdd.setphrase, puis j'appelle Serializer. J'éteins l'émulateur, puis je le rallume et j'appelle la méthode Deserializerbdd, puis je fais un bdd.getphrase qui ne me renvoie rien...


    Je débute, alors peut-être que j'utilise à mauvais escient la sérialisation...

    Merci pour toute aide!

  2. #2
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    Bonjour,

    Tu as beaucoup de donnée à stocker??

    Parce que moi ce que je fais, je stock dans les préférences de l'application au moins c'est réglé.
    La dessus tu peux avoir des informations si ca t'intéresse.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 26
    Par défaut
    Non, je n'ai pas beaucoup de données à stocker : je dois mémoriser 32 Strings, et le programme doit pouvoir y accéder et les modifier selon les actions de l'utilisateur.
    Je ne connais pas ce système de préférences, je vais me pencher dessus, ça m'a l'air pas mal.

    Merci pour l'idée!

    A+

Discussions similaires

  1. Créer son propre objet graphique sous Android
    Par ram-0000 dans le forum Android
    Réponses: 4
    Dernier message: 11/12/2012, 12h37
  2. Zoomer sur un objet sur tablette galaxy tab sous android
    Par LanfeustXIII dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/05/2012, 14h09

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