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?
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.
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).