2012-10-14 18 views
8

sto scrivendo un programma che ha bisogno di memorizzare i dati. Un singolo pacchetto di dati è di circa 4 classi con molte dipendenze tra di loro. Ad esempio, la classe A ha un elenco di oggetti B e B ha una lista di oggetti C e qualche dipendenze ...SQLite o serializzazione

E mi chiedo cosa sarebbe meglio. Conservali in SQLite db o serializza ciascun pacchetto separatamente e memorizzali in file serializzati?

+4

Se a qualcuno interessa la scelta di serializzazione: P –

+1

Si dovrebbe davvero [non utilizzare la serializzazione in Android] (http://stackoverflow.com/questions/3611843/is-using-serializable-in-android-bad). Ti suggerisco di controllare [GSON] (http://code.google.com/p/google-gson/). – m0skit0

risposta

3

Per me l'unica soluzione giusta sarebbe quella di salvare i dati all'interno di un database, soprattutto se ci sono eventuali dipendenze. Per i principianti potrebbe essere difficile all'inizio creare la creazione del database. ma dopo aver creato una banca dati nella giusta forma devi solo inserire i dati e non avrete alcun problema in futuro, se si vuole cambiare qualcosa o espandere la vostra app. Con semplice serializzazione la logica deve essere risolto all'interno della app e potrebbe causare più problemi, soprattutto se si dispone di tutte le dipendenze.

Se avete bisogno di un buon tutorial per il salvataggio dei dati si dovrebbe guardare a questo tutorial http://thenewboston.org/watch.php?cat=6&number=111

Per le altre soluzioni diverse per il salvataggio dei dati ci sono anche alcuni tutorial sul sito web, Nr. 108 - 110 della programmazione Android

1

L'IT dipende dall'utilizzo dei dati. Si può fare bene la scelta di JSON/GSON serializzazione e di evitare il sovraccarico di fare ORM su SQLite. (Overhead significa codifica aggiuntiva a marshall da/verso db) Tuttavia, se i tuoi dati sono soggetti a crescita o qualcosa che sarebbe meglio gestito da un db (un sacco di accessi non sequenziali o casuali su un set di dati più grande) allora vai per SQLite e ORM. Alla fine si tratta di quale tipo di dati si sta tentando di gestire. Anche in questo caso se il tuo set di dati è qualcosa che potrebbe crescere e comporta un sacco di accesso casuale, potrebbe valere la pena usare SQLite.