2012-09-23 18 views
6

Ho una domanda sul salvataggio di un array di oggetti personalizzati. Ho una classe denominata notitie:Android salva array di oggetti personalizzati

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

creo alcuni oggetti di notitie e aggiungerli al mio arraylist chiamati 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); 

Ora voglio salvare l'Arraylist riempita sulla memoria del dispositivo in modo che possa accedere in qualsiasi momento. Ho usato per salvare i dati come una stringa o alcuni numeri interi con sharedpreferences ma non posso salvare questo Arraylist con quello. Qualcuno ha una soluzione?

Grazie in anticipo!

risposta

5

Si ha un paio di opzioni:

  1. utilizzare la serializzazione, XML o JSON, e memorizzare i dati in un file. Fare riferimento a this solution se si desidera implementare la serializzazione.

  2. Memorizza i dati utilizzando SQLite. Dai un'occhiata a this tutorial per iniziare.

EDIT: Si potrebbe desiderare di leggere this, come pure!

+0

Perché o in qual caso consiglieresti il ​​primo o il secondo approccio? – Bruiser

+3

@Bruiser: questa è un'ottima domanda. Il vantaggio di SQLite è che è possibile visualizzare direttamente gli elementi in qualsiasi ListView utilizzando CursorAdapter, che consente di risparmiare un sacco di lavoro. Inoltre, gestire i dati del cursore è davvero semplice una volta capito. Fare le stesse cose con i file potrebbe essere un po 'faticoso, se non addirittura frustrante. Quindi, per me, SQLite è la strada da percorrere. – Swayam

+1

Grazie mille per la spiegazione dettagliata. Capisco che ovviamente c'è molto da considerare, ma questo è sicuramente un ottimo punto di partenza per ulteriori discussioni. Eccone altri per coloro che sono interessati: http://stackoverflow.com/questions/12212640/android-performance-flat-file-vs-sqlite | http://stackoverflow.com/questions/1803365/android-data-storage-file-vs-sqlite – Bruiser

Problemi correlati