如何在Android上序列化ArrayList

我有一个基本的function,需要序列化在我的Android应用程序。 用户将添加一些值到一个ArrayList,我想序列化它,以避免使用这个小选项的数据库,当然要学习如何序列化(我是一个begginer),因为它似乎有用。 无论如何,用户保存在列表中的东西,程序closures,程序再次启动,用户能够看到保存的数据。 我怎样才能实现这个? 你能提供一些代码片段或有用的链接?

非常感谢!!

Solutions Collecting From Web of "如何在Android上序列化ArrayList"

你可以通过自定义的bean类来实现这一点,并实现Serializable ,所以现在当你创build该类的ArrayList<E>时,它是Serializable.

例:

 Class dataBean implements Serializable { public String name; } ArrayList<dataBean> dataBeanArrayList = new ArrayList(); 

所以dataBeanArrayList现在是Serializable ,你也可以在Intent之间传递。

我build议使用flexjson将数据序列化到一个文件。 然后你可以使用这个库读回来。 与序列化相比,这有几个优点,可以将stream加载回可能的不同版本的对象。 使用ObjectInputStream,你必须非常小心,坦率地说,我从来没有看到它的工作。

http://flexjson.sourceforge.net

这里是一篇博客文章如何做到这一点:

http://wrongnotes.blogspot.com/2010/09/flexjson-meet-android.html