【问题标题】:Android: Serializable IntentAndroid:可序列化的意图
【发布时间】:2010-01-26 01:18:54
【问题描述】:

我有一个对象(其中包括)一个 Intent 列表。我想将此对象作为附加对象传递给 Intent。但是,Intent 类是不可序列化的,它只是“Parcelable”。

我假设 Parcelable 是 Serializable 的 android 版本,但我宁愿不必为我的类编写自己的序列化代码,而 Parcelable 似乎需要这样做。

除了将 Intent 重新实现为可序列化的类之外,还有其他解决方案吗?

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    您可以将Parcelable 放在额外的Intent 中,而Intent 已经是Parcelable。您需要做的就是将您的对象设为Parcelable,然后您就设置好了。

    【讨论】:

    • 有没有一种简单的方法可以让你的意图 Parcelable? Serializable 很好,因为你只需要打开接口,看起来你必须手动序列化你的对象 in parcelable..
    • 是的,我知道 Intent 是,但我的对象不是,它包含许多有些复杂的对象。手动创建序列化代码似乎容易出错。
    • 由于您无法在不修改固件的情况下使Intent 实现Serializable,因此您的选择是在您的类上实现Parcelable,或者不通过附加功能传递它的实例。
    【解决方案2】:

    您可以选择的另一条路线:

    使您的意图列表瞬态(不包含在可序列化中), 然后通过 Intent.putExtra(String key, Parcelable[] value) 将其作为可打包数组传递。

    然后接收类可以重新创建您的对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 1970-01-01
      • 2013-10-22
      相关资源
      最近更新 更多