Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best way to save the contents of an ArrayList?

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?

like image 777
Sheehan Alam Avatar asked Aug 26 '10 23:08

Sheehan Alam


2 Answers

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

like image 118
CommonsWare Avatar answered Oct 26 '22 17:10

CommonsWare


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.

like image 43
Jorge Israel Peña Avatar answered Oct 26 '22 18:10

Jorge Israel Peña