2012-05-20 10 views
5

Quiero escribir un objeto serializable para archivar en la memoria interna. Luego, quiero cargar ese objeto desde ese archivo más tarde. ¿Cómo podría hacer esto en Android?Android: escribir y obtener el objeto

Respuesta

13

Primero que nada su objeto debe implementar Serializable. No olvides agregar un serialVersionUID en la clase serializable.

Luego, si no desea guardar un campo específico del objeto, márquelo como transient. Asegúrese de que todos los campos sean serializables.

A continuación, cree un archivo en la memoria interna y cree un ObjectOutputStream para guardar su objeto. Si desea guardar en una carpeta específica puede crear una ruta de la siguiente manera:

File path=new File(getFilesDir(),"myobjects"); 
path.mkdir(); 

continuación, puede utilizar ese camino para salvar su objeto:

File filePath =new File(path, "filename"); 
FileOutputStream fos = new FileOutputStream(filePath); 
ObjectOutputStream oos = new ObjectOutputStream(fos);    

oos.writeObject(object); 
oos.close(); 

La lectura es similar:

FileInputStream fis = new FileInputStream(file); 
ObjectInputStream in = new ObjectInputStream(fis);    

MyObjectClass myObject = (MyObjectClass) in.readObject(); 

in.close(); 
Cuestiones relacionadas