`
iaiai
  • 浏览: 2204295 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Parcelable encountered IOException writing serializable object (name = xxx)

 
阅读更多
java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = xxx)
    at android.os.Parcel.writeSerializable(Parcel.java:1160)
    at android.os.Parcel.writeValue(Parcel.java:1114)
    at android.os.Parcel.writeMapInternal(Parcel.java:479)
    at android.os.Bundle.writeToParcel(Bundle.java:1552)
    at android.os.Parcel.writeBundle(Parcel.java:493)
    at android.content.Intent.writeToParcel(Intent.java:5438)
    at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1288)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1373)
    at android.app.Activity.startActivityForResult(Activity.java:2817)
    at android.app.Activity.startActivity(Activity.java:2923)
    at android.widget.AdapterView.performItemClick(AdapterView.java:284)
    at android.widget.ListView.performItemClick(ListView.java:3382)
    at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
    at android.os.Handler.handleCallback(Handler.java:587)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:4627)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.io.NotSerializableException: org.mdx.activity.collaboration.CollaborationListActivity
    at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1547)
    at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1859)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1701)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1665)
    at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:1153)
    at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:420)
    at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1251)
    at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1587)
    at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1859)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1701)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1665)
    at android.os.Parcel.writeSerializable(Parcel.java:1155)


activity之间传递自定义数据,需要implements Serializable或者Parcelable接口
可以用bundle putSerializable(String,Serizlizable)数据或者直接用intent putExtrr(String,Serizlizable)数据。
我有一个需求需要传递多个自定义类型数据,于是我写了一个数据类Value把我需要的那些自定义数据封装了起来,这个类实现了Serizlizable接口。但是在putExtra的时候出现了错误。

后来我发现要想在Activity之间传递数据必须所有的内容都实现serializable接口才行,而我的Value中封装的一个自定义类型数据没有实现这个接口,所以出现了错误。
之后我让那个自定义类型实现了serializable接口就没有问题了。
分享到:
评论

相关推荐

    bundle传递基本数据,Parcelable类型数据,Serializable类型数据

    本篇将详细介绍如何通过`Bundle` 传递基本数据类型、Parcelable类型数据以及Serializable类型数据。 ### 一、基本数据类型的传递 在Android中,基本数据类型包括int、boolean、float、double、char等。通过`put()`...

    Parcelable与Serializable

    在Android开发中,数据传输和保存是常见的需求,而`Parcelable`和`Serializable`就是两种主要的序列化机制。它们都是将对象转换为字节流,以便存储或在网络中传递,但`Parcelable`通常被认为比`Serializable`更高效...

    Android通过Parcelable和Serializable实现各种类型嵌套序列化

    Android提供了两种主要的序列化方式:Parcelable和Serializable。这两种方式都可以将对象转换为字节流,便于存储、传输或恢复。下面将详细讨论Android通过Parcelable和Serializable实现各种类型嵌套序列化的方法。 ...

    Android序列化——Serializable与Parcelable

    本文将深入探讨两种主要的序列化方式:Serializable和Parcelable,并比较它们的优缺点以及适用场景。 首先,我们来了解什么是序列化。序列化是将对象的状态转换为可存储或可传输的形式的过程。在Android中,这个...

    Android Parcelable与Serializable详解及区别

    在Android开发中,数据传输和序列化是必不可少的环节,其中`Parcelable`和`Serializable`是两种常用的序列化方式。本文将深入解析这两种机制的区别、优缺点以及它们的使用场景。 首先,`Serializable`接口是Java...

    android中Intent传递对象的两种方法(Serializable,Parcelable)

    当我们需要在Intent中传递复杂对象时,有两种主要的方法:Serializable和Parcelable。这两种方式都可以实现对象的序列化,但它们在性能和效率上存在差异。 **Serializable接口** Serializable接口是Java提供的一个...

    android序列化(Parcelable)

    Android提供了两种主要的序列化方式:`Serializable`和`Parcelable`。本文将深入探讨`Parcelable`,它是Android平台中效率更高的序列化接口。 **一、Parcelable简介** `Parcelable`是Android系统提供的一个接口,...

    android Activity之间数据传递 Parcelable和Serializable接口的使用

    android Activity之间数据传递 Parcelable和Serializable接口的使用的具体实例代码,详情请看>http://blog.csdn.net/js931178805/article/details/8268144

    实现Parcelable接口的方式借助Intent实现Android工程中Activity之间Java对象的传递.zip

    Parcelable接口比Serializable更高效,因为它提供了直接的二进制序列化,而Serializable是基于Java反射机制的序列化,相对耗时。 实现Parcelable接口的步骤如下: 1. 在你的自定义Java对象类中实现Parcelable接口...

    android activityIntent 传值 传对象

    本文将深入探讨如何使用Intent在Activity之间传递基本数据类型、复杂对象以及实现Parcelable或Serializable接口的对象。 1. **基本数据类型的传值** Intent提供了putExtra()方法来传递基本数据类型,如字符串、...

    Inetent传递对象parcelable

    - `public static final Parcelable.Creator<MyObject> CREATOR`:这个静态内部类必须创建,它实现了Parcelable.Creator接口,用于从Parcel反序列化对象。你需要实现`createFromParcel(Parcel source)`和`newArray...

    安卓自带Parcelable序列化

    `Parcelable`是Android系统提供的一种高效的数据序列化方式,相比Java的`Serializable`接口,它的性能更优,因为`Parcelable`在序列化和反序列化时提供了更直接的内存操作。本篇文章将详细探讨`Parcelable`在Android...

    Android中Intent传递对象的两种方法Serializable,Parcelable

    Android中的传递有两个方法,一个是Serializable,另一个是Parcelable。 Serializable是J2SE本身就支持的。而Parcelable是Android所特有的。 二者的使用场景和区别: 1)在使用内存的时候,Parcelable比Serializable...

    parcelable学生类使用简单案例

    在Android开发中,Parcelable接口是Android系统提供的一种高效的数据序列化方式,相比于Serializable接口,它在传递和存储数据时性能更高。本案例将探讨如何创建一个简单的Parcelable学生类,以便在Activity之间传递...

    Activity传递对象的3种方法(全)

    本文将详细介绍如何使用三种方法来传递对象:Parcelable、Serializable和Bundle,这些方法适用于不同类型的对象,包括基本类型、字符串、布尔值、数组、ArrayList以及自定义复杂对象如UUID和浮点类型。 ### 1. ...

    Parcelable in Android

    在Android开发中,Parcelable接口是用于对象序列化的一种高效机制,相比于Java的Serializable接口,它在数据传输或者存储时提供了更高的性能。理解并熟练使用Parcelable对于优化应用性能至关重要。 Parcelable接口...

    Android中Parcelable的使用详解

    Parcelable与Serializable Serializable是Java为我们提供的一个标准化的序列化接口。 Parcelable是Android为我们提供的序列化的接口。 对比: 1、Parcelable相对于Serializable的使用相对复杂一些。 2、Parcelable的...

    Android序列化之Parcelable和Serializable的使用详解

    Android序列化技术详解 - Parcelable和Serializable的使用详解 序列化是指将对象实例的状态存储到存储媒体(磁盘或者其他介质)的过程。在 Android 开发中,序列化是一种常用的数据存储和传输方式。今天,我们将...

    Parcelable完全解析demo

    在Android开发中,Parcelable接口是Android系统提供的一种高效的数据序列化方式,相比于Java自带的Serializable接口,它在传输和保存数据时效率更高。本篇将深入解析Parcelable接口的使用,并通过一个具体的`...

Global site tag (gtag.js) - Google Analytics