Question

I want to save an ArrayList so that it is persistent. The contents can change. What is the best way of approaching this in android?

Was it helpful?

Solution

Your question is akin to asking "I have this bag of stuff -- should I transfer the stuff to a box, bucket, barrel, or bin?".

Without knowing what the "stuff" is, we cannot easily answer the question.

Your general options are either to use a database (perhaps actually getting rid of the ArrayList in the first place) or persistence to a file (serialization, XML, JSON, etc.).

Generally speaking, a SQLite database has advantages, in that is uses transactions and will be generally more robust than just writing your own file. However, there are things your ArrayList might store that might not work well in a database. Of course, there are things your ArrayList might store that might not even be able to be persisted at all (e.g., a socket, a widget).

OTHER TIPS

I am not familiar with Android SDK, but I am with Java. One thing you can easily do is serialize the ArrayList. Then when you read it again, it'll be an ArrayList object which you can readily use as if you had just created it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top