Java 在android中打包复杂对象b/w活动

Java 在android中打包复杂对象b/w活动,java,android,sockets,serialization,parcelable,Java,Android,Sockets,Serialization,Parcelable,我有一个复杂的类Class11,其中包含Socket、PrintWriter类引用。 我在尝试在活动之间传递异常时遇到异常 public interface Interface11 extends Parcelable{ ........... } public class Class11 implements Interface11 { Socket clientSocket; ServerSocket serverSocket;

我有一个复杂的类Class11,其中包含Socket、PrintWriter类引用。 我在尝试在活动之间传递异常时遇到异常

  public interface Interface11 extends Parcelable{
    ...........
    }

    public class Class11 implements Interface11 {
       Socket clientSocket;
       ServerSocket serverSocket;

    PrintWriter writer;
          BufferedReader reader;
       private JChatConnection(Parcel in) {

               Object [] objects= in.readArray(Object.class.getClassLoader());
               clientSocket=(Socket) objects[0];
               serverSocket=(ServerSocket) objects[1];
               writer=(PrintWriter) objects[2];
               reader=(BufferedReader) objects[3];

            }


    @Override
    public int describeContents() {

        return 0;
    }



    @Override
    public void writeToParcel(Parcel dest, int flags) {

        Object objects[] = new Object[4];

            objects[0]=clientSocket;
            objects[1]=serverSocket;
            objects[2]=writer;
            objects[3]=reader;

        dest.writeArray(objects);
    }

    public static final Parcelable.Creator<Class11> CREATOR = 
new Parcelable.Creator<Class11>() {
            public Class11 createFromParcel(Parcel in) {
                return new Class11(in);
            }

            public Class11[] newArray(int size) {
                return new Class11[size];
            }
        };

};
是因为插座、打印机不可打包还是, 我是不是把writeToParcel和private Class11 Parcel的代码弄乱了
有人知道如何在活动之间传递此对象吗?

我建议不要将对象实例作为参数传递给活动。使其成为单例,或应用程序类的成员。这将允许您访问应用程序中任何位置的Class11实例

只是出于好奇,你的应用程序中是否也有Class1、Class2、Class3…或者那只是一个域名?这是一个残忍的企图来隐藏我的类的原始名称007的秘密。
java.lang.RuntimeException: unable to marshall value Socket[address=/192.168.43.225,port=9990,localport=213234]
 at android.os.Parcel.writeValue(Parcel.java:1137)
 at android.os.Parcel.writeArray(Parcel.java: 543)........