将Parcelable对象的ArrayList保存为持久数据?

问题描述:

我有一个ArrayList的自定义Parcelable对象,我试图将这个列表保存到外部/内部数据存储。这些对象被称为讲座,每个讲座包含作业,测试,注释和设置的Arraylists。所有这些也实现Parcelable。将Parcelable对象的ArrayList保存为持久数据?

现在我试图对这一保存到SD卡中使用:

for(Lecture l : lectureList) 
    oos.writeObject(l); 

OOS是用ObjectOutputStream。第一次写入时引发异常(InvalidDataException?我不记得)。现在我认为Parcelable是Android自己的Serializable实现 - 但经过进一步阅读,似乎Parcelable可能不是永久保存对象的路由。这是一个问题,因为我将它用于saveInstanceState。

所以做我

  • 实现Serializable与Parcelable或者先删除Parcelable?
  • 用不同的方法将我的数据保存到存储中?
  • 或称它为好跑并挥动白旗?

如果有人在乎......我结束了使用Parcelable实现Serializable,它对持久性和恢复我的应用程序的状态都适用。