Pierre87 Posté(e) 2 mars 2010 Share Posté(e) 2 mars 2010 Salut ! Je voudrais sauver un objet (une liste d'objets en fait) Vous avez une idée ? Les classes Preferences ne semblent pouvoir stocker que des types primitifs, donc ça ne va pas :( Merci Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cyberalternative Posté(e) 9 septembre 2011 Share Posté(e) 9 septembre 2011 Bonjour. Quittes à déterrer un ancien sujet (toutes mes excuses) autant que ça serve aux gens qui se posent la question. Si tu veux sauvegarder dans la mémoire Interne de ton téléphone il existe une méthode simple et rapide : FileOutputStream fos = context.openFileOutput(name, Context.MODE_PRIVATE); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(dictionary); oos.close(); Avec "dictionary" de type : Hashtable<String,Object> dictionary Pour lire on pourra utiliser : java.io.File file = context.getFileStreamPath(name); if(file.exists()) { FileInputStream fis = context.openFileInput(name); ObjectInputStream ois = new ObjectInputStream(fis); dictionary = (Hashtable<String, Object>) ois.readObject(); ois.close(); } avec name de type String (nom du fichier) (J'ai volontairement enlevé les blocs try/catch mais ils sont essentiels pour ce type d'opérations d'entrée / sortie). Pour plus d'informations à ce sujet je vous invite à lire cet article de la doc officielle : http://developer.android.com/guide/topics/data/data-storage.html Bonne chance. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vicnet31 Posté(e) 3 octobre 2011 Share Posté(e) 3 octobre 2011 En effet, je fais comme cela aussi. J'ajouterais qu'il faut que les objets enregistrés soit de type Serializable, cad implements Serializable. Et donc qu'il doivent avoir un ID unique: private static final long serialVersionUID = 1L; Ce qui donne: import java.io.Serializable; public class MonObjet implements Serializable { private static final long serialVersionUID = 1L; ... } Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.