2010-08-26 11 views

Antwort

4

Ihre Frage ist vergleichbar mit der Frage "Ich habe diese Tüte mit Zeug - sollte ich das Zeug in eine Kiste, einen Eimer, ein Fass oder einen Abfalleimer bringen?".

Ohne zu wissen, was das "Zeug" ist, können wir die Frage nicht einfach beantworten.

Ihre allgemeinen Optionen sind entweder die Verwendung einer Datenbank (vielleicht wird die ArrayList überhaupt beseitigt) oder die Persistenz einer Datei (Serialisierung, XML, JSON usw.).

Generell hat eine SQLite-Datenbank Vorteile, da sie Transaktionen verwendet und in der Regel robuster ist, als nur eine eigene Datei zu schreiben. Es gibt jedoch Dinge, die Ihre ArrayList möglicherweise speichern, die in einer Datenbank möglicherweise nicht gut funktionieren. Natürlich gibt es Dinge, die Ihre ArrayList speichern könnte, die möglicherweise überhaupt nicht beibehalten werden können (z. B. ein Socket, ein Widget).

+0

Meine ArrayList enthält ein Basisobjekt, das Strings erhält und setzt. Mit dem gesagt, welches ist der beste Ansatz? –

+0

Ich denke, es als 'GSON' konvertieren und speichern als Datei wird der einfachste Weg sein –

2

Ich bin nicht vertraut mit Android SDK, aber ich bin mit Java. Eine Sache, die Sie leicht tun können, ist die ArrayList zu serialisieren. Wenn Sie es dann erneut lesen, handelt es sich um ein ArrayList-Objekt, das Sie so verwenden können, als hätten Sie es gerade erstellt.

+2

Einführung in Java-Serialisierung: http://java.sun.com/developer/technicalArticles/Programming/serialization/ –

+0

Bitte nicht serialisieren. Verwenden Sie eine Datenbank oder die gemeinsame Präferenz – Falmarri

+0

Können Sie Serialisierung vs db/sharedpref erklären? –

Verwandte Themen