2012-09-23 49 views
6

Tengo una pregunta sobre cómo guardar una lista de arrays de objetos personalizados. Tengo una clase llamada Nota A:Android guardar una matriz de objetos personalizados

public class Notitie implements Serializable{ 

private String titel = ""; 
private String type = ""; 
private String datum = ""; 

public void setTitel (String titel){ 
    this.titel = titel; 
} 
public String getTitel(){ 
    return titel; 
} 
public void setType (String type){ 
    this.type = type; 
} 
public String getType(){ 
    return type; 
} 
public void setDatum (String datum){ 
    this.datum = datum; 
} 
public String getDatum(){ 
    return datum; 
} 
} 

puedo crear algunos objetos de la Nota A y añadirlos a mi ArrayList llamados notities

ArrayList<Notitie> notities = new ArrayList<Notitie>(); 

Notitie notitie1 = new Notitie(); 
notitie1.setTitel("Meting"); 
notitie1.setType("Watermeting"); 
notitie1.setDatum("22-09-12"); 
notities.add(notitie1); 

Notitie notitie2 = new Notitie(); 
notitie1.setTitel("Meting2"); 
notitie1.setType("Watermeting2"); 
notitie1.setDatum("23-09-12"); 
notities.add(notitie2); 

Notitie notitie3 = new Notitie(); 
notitie1.setTitel("Meting3"); 
notitie1.setType("Watermeting3"); 
notitie1.setDatum("24-09-12"); 
notities.add(notitie3); 

Ahora quiero guardar el Arraylist lleno de almacenamiento del dispositivo para que pueda ser accedido en cualquier momento Solía ​​guardar datos como una cadena o algunos enteros con preferencias compartidas, pero no puedo guardar esta lista de párrafos con eso. ¿Alguien tiene una solución?

¡Gracias de antemano!

Respuesta

5

Usted tiene algunas opciones:

  1. Uso serialización, XML o JSON, y almacenar los datos en un archivo. Consulte this solution si desea implementar la serialización.

  2. Almacene sus datos usando SQLite. Echa un vistazo a this tutorial para comenzar.

EDIT: Es posible que desee leer this así!

+0

¿Por qué o en qué caso recomendaría el primero o el segundo enfoque? – Bruiser

+3

@Bruiser: Esa es una muy buena pregunta. La ventaja de SQLite es que puede visualizar directamente los elementos en cualquier ListView utilizando CursorAdapter, lo que ahorra muchísimo trabajo. Además, manejar los datos del Cursor es realmente fácil una vez que lo dominas. Hacer las mismas cosas con Files puede ser un poco laborioso, si no frustrante. Entonces, para mí, SQLite es el camino a seguir. – Swayam

+1

Muchas gracias por la explicación detallada. Entiendo que, por supuesto, hay mucho que considerar, pero definitivamente es un muy buen punto de partida para seguir debatiendo. Aquí hay algunos más para quienes estén interesados: http://stackoverflow.com/questions/12212640/android-performance-flat-file-vs-sqlite | http://stackoverflow.com/questions/1803365/android-data-storage-file-vs-sqlite – Bruiser

Cuestiones relacionadas