Disons que j'ai une classe simple et qu'une fois qu'elle est instanciée en tant qu'objet, je veux pouvoir sérialiser son contenu dans un fichier, et le récupérer en chargeant ce fichier ultérieurement ... Je ne sais pas par où commencer ici, que dois-je faire pour sérialiser cet objet dans un fichier?
public class SimpleClass {
public string name;
public int id;
public void save() {
/* wtf do I do here? */
}
public static SimpleClass load(String file) {
/* what about here? */
}
}
C'est probablement la question la plus simple au monde, car c'est une tâche très simple dans .NET, mais sous Android, je suis assez nouveau, donc je suis complètement perdu.
android
serialization
file-io
Ben Lesh
la source
la source
J'ai essayé ces 2 options (lecture / écriture), avec des objets simples, un tableau d'objets (150 objets), une carte:
Option 1:
Option 2:
L'option 2 est deux fois plus rapide que l'option 1
L'inconvénient de l'option 2 est que vous devez créer un code spécifique pour la lecture:
la source
Je viens de créer une classe pour gérer cela avec Generics, afin qu'elle puisse être utilisée avec tous les types d'objets sérialisables:
la source
Le code complet avec gestion des erreurs et ajout de flux de fichiers se ferme. Ajoutez-le à votre classe que vous souhaitez pouvoir sérialiser et désérialiser. Dans mon cas, le nom de la classe est
CreateResumeForm
. Vous devriez le changer en votre propre nom de classe.Android
L'interfaceSerializable
n'est pas suffisante pour enregistrer vos objets dans le fichier, elle ne crée que des flux.Utilisez-le comme ceci dans votre
Activity
:la source
J'utilise SharePrefrences:
la source
Vous devez ajouter une classe ObjectSerialization à votre programme, ce qui suit peut fonctionner
}
si vous utilisez pour stocker un tableau avec SharedPreferences, utilisez ce qui suit: -
Pour sérialiser: -
Pour désérialiser: -
la source