Voglio salvare un ArrayList in modo che sia persistente. I contenuti possono cambiare. Qual è il modo migliore di avvicinarsi a questo in Android?Qual è il modo migliore per salvare i contenuti di un ArrayList?
risposta
La tua domanda è come chiedere "Ho questa borsa di roba - dovrei trasferire la roba in una scatola, un secchio, un barile o un bidone?".
Senza sapere cosa sia la "roba", non possiamo rispondere facilmente alla domanda.
Le opzioni generali sono di utilizzare un database (forse in realtà eliminando lo ArrayList
in primo luogo) o la persistenza in un file (serializzazione, XML, JSON e così via).
In generale, un database SQLite presenta vantaggi, in quanto è transazioni di utilizzo e sarà generalmente più robusto rispetto alla semplice scrittura del proprio file. Tuttavia, ci sono cose che il tuo ArrayList
potrebbe immagazzinare che potrebbe non funzionare bene in un database. Naturalmente, ci sono cose che il tuo ArrayList
potrebbe immagazzinare che potrebbe non essere nemmeno in grado di essere persistente (ad es. Un socket, un widget).
Non ho familiarità con Android SDK, ma sono con Java. Una cosa che puoi fare facilmente è serializzare ArrayList. Quindi, quando lo rileggi, sarà un oggetto ArrayList che puoi usare prontamente come se lo avessi appena creato.
Intro to Serialization Java: http://java.sun.com/developer/technicalArticles/Programming/serialization/ –
Si prega di non serializzare. Utilizzare un database o il riferimento condiviso – Falmarri
puoi spiegare serializzazione vs db/sharedpref? –
my ArrayList contiene un oggetto base che ottiene e imposta le stringhe. Detto ciò qual è l'approccio migliore? –
Immagino di convertirlo come "GSON" e la memorizzazione come file sarà il modo più semplice –