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 :
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...
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]; } }
Je débute, alors peut-être que j'utilise à mauvais escient la sérialisation...
Merci pour toute aide!
Partager