序列化:
将数据结构或对象转换成二进制的过程。
序列化的用途: 网络上,跨进程
序列化方案:json xml protobuf serializable(java) percelable(Android独有)....
持久化:
把数据结构或对象存储起来 硬盘
如何选择合理的序列化方案。
Serializable学习:
//里面没有任何方法,就是一个标志。
public interface Serializable { }
public interface Externalizable extends java.io.Serializable {
void writeExternal(ObjectOutput out) throws IOException;
void readExternal(ObjectInput in) throws IOException, ClassNotFoundException;
}
案例一
/*
如果没有实现Serializable,执行就会报错
Caused by: java.io.NotSerializableException:
com.android.serializable.SerializableTest$User
*/
static class User { //定义非基本数据类型的对象,不实现序列化
private String mName;
private int mAge;
public User(String name, int age) {
mName = name;
mAge = age;
}
@Override
public String toString() {
return "User{" +
"mName='" + mName + '\'' +
", mAge=" + mAge +
'}';
}
}
//对它进行写出操作,path为磁盘路径
outputStream =