序列化 存取数据

来源:互联网 发布:java项目视频百度云 编辑:程序博客网 时间:2024/05/17 01:34

Android序列化有两种方式,实现 Parcelable、Serializable
其中Serializable Java实现就可以了
一、实现 Parcelable

public class Student implements Parcelable {    private int id;    private String name;    protected Student() {    }    public Student(int id, String name) {        this.id = id;        this.name = name;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    // 反序列过程:必须实现Parcelable.Creator接口,并且对象名必须为CREATOR    // 读取Parcel里面数据时必须按照成员变量声明的顺序,Parcel数据来源上面writeToParcel方法,读出来的数据供逻辑层使用    public static final Creator<Student> CREATOR = new Creator<Student>() {        @Override        public Student createFromParcel(Parcel in) {            return new Student(in.readInt(), in.readString());        }        @Override        public Student[] newArray(int size) {            return new Student[size];        }    };    @Override    public int describeContents() {        return 0;    }    @Override    public void writeToParcel(Parcel dest, int flags) {        // 序列化过程:必须按成员变量声明的顺序进行封装        dest.writeInt(id);        dest.writeString(name);    }}

二、出现一个问题,我在 工程 新建一个module library,里面一个实体类
实现Parcelable ,就是不起作用
报错 java.io.NotSerializableException 不得不用另一种方式

参考:
http://www.cnblogs.com/hpboy/archive/2012/07/12/2587797.html
http://www.jianshu.com/p/ae2c7004179d

0 0
原创粉丝点击