2010-07-24 6 views
6

Ho bisogno di memorizzare i dati da utilizzare nel mio programma Android. Ecco i dettagli dei dati:Qual è il metodo migliore per archiviare questa piccola tabella di dati di sola lettura in un telefono Android?

  • Ci sarà un tavolo. Ogni "riga" di dati avrà un identificatore INT univoco. Oltre a quel campo, ci saranno altri quattro campi INT e un campo di testo. Il campo stringa sarà probabilmente lungo 2 o 3 frasi. Ciascuno dei 4 campi INT corrisponderà all'ID di altre righe.

  • Ci saranno 100 righe, forse 200. Ma tutte le righe saranno di sola lettura e pre-compilate.

  • I dati verranno letti frequentemente e in modo non sequenziale.

La prima risposta per la memorizzazione di dati è SQLite molte volte, ma dato le indicazioni dei dati, un altro metodo di memorizzazione può essere più efficiente. Sono aperto a qualsiasi suggerimento e gli esempi di codice sono sempre ben accetti!

+0

Mi sembra una specie di puzzle di pensiero laterale, dove la domanda è "Che tipo di app è Bromide? ?" Una sorta di gioco "scegli la tua avventura" è la prima cosa che ti viene in mente. – MatrixFrog

+0

lol Beh, aiutami a memorizzare alcuni dati, e forse lo scopriremo tutti ;-) – Bromide

risposta

2

Che ne dici di un file statico xml o cvs nelle tue risorse? Se è troppo lento per accedere al file ogni volta che ne hai bisogno (dal momento che dici che verrà letto frequentemente), potresti semplicemente analizzarlo in un map (HashMap o qualsiasi altra cosa sia in Java) all'avvio del programma. È anche possibile leggerlo in SQLite la prima volta che viene eseguito il programma, quindi utilizzare il database da lì in poi, ma probabilmente non è necessario farlo.

+0

Probabilmente inizierei con questo, e quindi passare a SQLite o qualcosa del genere più tardi se lo trovassi necessario. – MatrixFrog

+0

Hmm .. quindi quando leggo l'XML, lo leggerei in una HashMap. L'ID univoco sarebbe la chiave della mappa e il valore sarebbe un array di valori. Sto capendo questo giusto? – Bromide

+0

Sì, è quello che faresti se decidessi di andare con il mio suggerimento. –

0

Metodo 1, utilizzare SQLite, funziona bene ed è già in Android. C'è un esempio sqlite in rete (mi dispiace ho perso l'URL) - google it :)

Metodo 2, scrivere un file in streaming sulla scheda SD con i dati! c'è un esempio in ApiDemos che lo fa e basta aggiungere un lettore di file per raccogliere i dati da un file piatto sequenziale. Nom.

Metodo 3, Scrivilo come post nel cloud. Sto cercando un codice per farlo da solo, per favore invialo qui per farmi risparmiare tempo ...

+0

Questi 3 metodi sono davvero troppo complicati per un piccolo "database" statico di informazioni come l'OP sta usando. –

+0

No, il metodo SQLite è il migliore che si possa ottenere – ognian