Java Parcelable在写入可序列化对象时遇到IOException?

Java Parcelable在写入可序列化对象时遇到IOException?,java,android,serialization,Java,Android,Serialization,我在这段代码中遇到“Parcelable遇到IOException写入序列化对象”错误 public void onClick(View v) { tvResult.setText("Povezivanje s bazom u tijeku..."); Intent i = new Intent("android.intent.action.MAINACTIVITY"); Details detai

我在这段代码中遇到“Parcelable遇到IOException写入序列化对象”错误

public void onClick(View v) {
                tvResult.setText("Povezivanje s bazom u tijeku...");
                Intent i = new Intent("android.intent.action.MAINACTIVITY");

                Details details = new Details();
                details.host=etHost.getText().toString();
                details.user=etUsername.getText().toString();
                details.pass=etPass.getText().toString();
                details.database=etBaza.getText().toString();

                new GetData(tvResult).execute("");

                Bundle bundle = new Bundle();
                bundle.putSerializable("Detalji", details);
                i.putExtras(bundle);
                startActivity(i);

            }
以下是我的详细信息课程:

public class Details implements Serializable 
    {

        private static final long serialVersionUID = 1L;
        private String host;
        private String pass;
        private String user;
        private String database;
    }

一切正常,直到
启动活动(i)
命令,有人知道为什么吗?

在详细信息类中,您是否覆盖了writeToParcel和readFromParcel

@Override
    public void writeToParcel(Parcel dest, int flags) {
}
如果要通过意图传递复杂对象,则详细信息需要实现可包裹


“详细信息”类需要位于它自己的文件中,而不是实现parcelable

在详细信息类中,您是否重写了writeToParcel和readFromParcel

@Override
    public void writeToParcel(Parcel dest, int flags) {
}
如果要通过意图传递复杂对象,则详细信息需要实现可包裹


“详细信息”类需要位于它自己的文件中,而不是实现parcelable

在详细信息类中,您是否重写了writeToParcel和readFromParcel

@Override
    public void writeToParcel(Parcel dest, int flags) {
}
如果要通过意图传递复杂对象,则详细信息需要实现可包裹


“详细信息”类需要位于它自己的文件中,而不是实现parcelable

在详细信息类中,您是否重写了writeToParcel和readFromParcel

@Override
    public void writeToParcel(Parcel dest, int flags) {
}
如果要通过意图传递复杂对象,则详细信息需要实现可包裹


“详细信息”类需要位于它自己的文件中,而不是实现parcelable

您必须对数据类
详细信息
实施
Parcelable

public class Details implements Serializable, Parcelable {
    private static final long serialVersionUID = 1L;
    private String host;
    private String pass;
    private String user;
    private String database;

    public Details(Parcel in){
       this.host = in.readString();
       this.pass = in.readString();
       this.user = in.readString();
       this.database = in.readString();
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.host);
        dest.writeString(this.pass);
        dest.writeString(this.user);
        dest.writeString(this.database);
    }

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

        public Details[] newArray(int size) {
            return new Details[size];
        }
    };
}
公共类详细信息实现可序列化、可打包{
私有静态最终长serialVersionUID=1L;
私有字符串主机;
私人串通;
私有字符串用户;
私有字符串数据库;
公共详细信息(包裹内){
this.host=in.readString();
this.pass=in.readString();
this.user=in.readString();
this.database=in.readString();
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeString(this.host);
目的地写入限制(本通行证);
dest.writeString(此用户);
dest.writeString(此数据库);
}
public static final Parcelable.Creator=新建Parcelable.Creator(){
公共详细信息createFromParcel(地块中){
返回新的详细信息(在中);
}
公共详细信息[]新数组(整数大小){
返回新的详细信息[大小];
}
};
}
现在我试着写一些应该对你有用的东西,但我不是100%肯定它会,所以从这里开始做一些传统的阅读:


您必须对您的数据类
详细信息实施
Parcelable

public class Details implements Serializable, Parcelable {
    private static final long serialVersionUID = 1L;
    private String host;
    private String pass;
    private String user;
    private String database;

    public Details(Parcel in){
       this.host = in.readString();
       this.pass = in.readString();
       this.user = in.readString();
       this.database = in.readString();
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.host);
        dest.writeString(this.pass);
        dest.writeString(this.user);
        dest.writeString(this.database);
    }

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

        public Details[] newArray(int size) {
            return new Details[size];
        }
    };
}
公共类详细信息实现可序列化、可打包{
私有静态最终长serialVersionUID=1L;
私有字符串主机;
私人串通;
私有字符串用户;
私有字符串数据库;
公共详细信息(包裹内){
this.host=in.readString();
this.pass=in.readString();
this.user=in.readString();
this.database=in.readString();
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeString(this.host);
目的地写入限制(本通行证);
dest.writeString(此用户);
dest.writeString(此数据库);
}
public static final Parcelable.Creator=新建Parcelable.Creator(){
公共详细信息createFromParcel(地块中){
返回新的详细信息(在中);
}
公共详细信息[]新数组(整数大小){
返回新的详细信息[大小];
}
};
}
现在我试着写一些应该对你有用的东西,但我不是100%肯定它会,所以从这里开始做一些传统的阅读:


您必须对您的数据类
详细信息实施
Parcelable

public class Details implements Serializable, Parcelable {
    private static final long serialVersionUID = 1L;
    private String host;
    private String pass;
    private String user;
    private String database;

    public Details(Parcel in){
       this.host = in.readString();
       this.pass = in.readString();
       this.user = in.readString();
       this.database = in.readString();
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.host);
        dest.writeString(this.pass);
        dest.writeString(this.user);
        dest.writeString(this.database);
    }

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

        public Details[] newArray(int size) {
            return new Details[size];
        }
    };
}
公共类详细信息实现可序列化、可打包{
私有静态最终长serialVersionUID=1L;
私有字符串主机;
私人串通;
私有字符串用户;
私有字符串数据库;
公共详细信息(包裹内){
this.host=in.readString();
this.pass=in.readString();
this.user=in.readString();
this.database=in.readString();
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeString(this.host);
目的地写入限制(本通行证);
dest.writeString(此用户);
dest.writeString(此数据库);
}
public static final Parcelable.Creator=新建Parcelable.Creator(){
公共详细信息createFromParcel(地块中){
返回新的详细信息(在中);
}
公共详细信息[]新数组(整数大小){
返回新的详细信息[大小];
}
};
}
现在我试着写一些应该对你有用的东西,但我不是100%肯定它会,所以从这里开始做一些传统的阅读:


您必须对您的数据类
详细信息实施
Parcelable

public class Details implements Serializable, Parcelable {
    private static final long serialVersionUID = 1L;
    private String host;
    private String pass;
    private String user;
    private String database;

    public Details(Parcel in){
       this.host = in.readString();
       this.pass = in.readString();
       this.user = in.readString();
       this.database = in.readString();
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.host);
        dest.writeString(this.pass);
        dest.writeString(this.user);
        dest.writeString(this.database);
    }

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

        public Details[] newArray(int size) {
            return new Details[size];
        }
    };
}
公共类详细信息实现可序列化、可打包{
私有静态最终长serialVersionUID=1L;
私有字符串主机;
私人串通;
私有字符串用户;
私有字符串数据库;
公共详细信息(包裹内){
this.host=in.readString();
this.pass=in.readString();
this.user=in.readString();
this.database=in.readString();
}
@凌驾
公共无效写入包裹(包裹目的地,内部标志){
dest.writeString(this.host);
目的地写入限制(本通行证);
dest.writeString(此用户);
dest.writeString(此数据库);
}
public static final Parcelable.Creator=新建Parcelable.Creator(){
公共详细信息createFromParcel(地块中){
返回新的详细信息(在中);
}
公共详细信息[]新数组(整数大小){
返回新的详细信息[大小];
}
};
}
现在我试着写一些应该对你有用的东西,但我不能百分之百肯定我能做到