将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,它对持久性和恢复我的应用程序的状态都适用。