【问题标题】:Saving ArrayList of Parcelable objects as persistent data?将 Parcelable 对象的 ArrayList 保存为持久数据?
【发布时间】:2011-10-29 23:39:39
【问题描述】:

我有一个自定义 Parcelable 对象的 ArrayList,我正在尝试将此列表保存到外部/内部数据存储中。这些对象称为 Lectures,每个 Lecture 都包含作业、测试、注释和设置的数组列表。所有这些都实现了 Parcelable。

现在我尝试使用以下方法将其保存到 sd 卡:

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

oos 是 ObjectOutputStream。第一次写入时抛出异常(InvalidDataException?我不记得了)。现在我认为 Parcelable 是 Android 自己的 Serializable 实现 - 但在进一步阅读后,似乎 Parcelable 可能不是持久保存对象的途径。这是一个问题,因为我将它用于 saveInstanceState。

我也是

  • 用 Parcelable 实现 Serializable 还是先移除 Parcelable?
  • 用其他方法将我的数据保存到存储中?
  • 或者说它是一次良好的运行并挥动白旗?

【问题讨论】:

    标签: android


    【解决方案1】:

    以防万一……我最终用 Parcelable 实现了 Serializable,它对于持久化和恢复我的应用程序状态都很好。

    【讨论】: