Aller au contenu

Sauver un objet


Recommended Posts

  • 1 year later...

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.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 weeks later...

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;
...
}

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...