Activity数据传递之对象(seralizable)这篇文章里面写了用seralizable使对象序列化在Activity直之间进行传递
seralizable是在java api中的类,而在android中也有一个类使对象序列化,那就是parcelable。
那么两者之间有什么区别呢?
seralizable:序列化到本地,是一个持久化的操作,效率慢一点
parcelable:只存在于内存,程序结束,序列化后的对象就不存在了。效率快一点
具体代码如下 比较麻烦。但建议还是使用parcelable 因为它效率高 嘛 慢慢理解,如果想看其它代码参见我的上一篇文章
obj
package com.example.activity;
import android.os.Parcel;
import android.os.Parcelable;
public class Obj implements Parcelable{
String name;
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
/*
* 静态变量,一定不忘忘记
* */
public static Parcelable.Creator<Obj> CREATOR =new Creator<Obj>() {
@Override
public Obj[] newArray(int arg0) {
// TODO Auto-generated method stub
return null;
}
/*
* 反序列化
* */
@Override
public Obj createFromParcel(Parcel source) {
// TODO Auto-generated method stub
Obj obj=new Obj();
obj.setName(source.readString());
return obj;
}
};
/*
* 把变量序列化出去
* */
@Override
public void writeToParcel(Parcel dest, int arg1) {
// TODO Auto-generated method stub
dest.writeString(name);
}
}
运行结果如下