今天查阅资料,简单了解了一下Parcelable接口,它是android提供的序列化对象的接口,比java中的
Serializable高效些。通过这个接口序列化对象主要有两步:
1.实现public void writeToParcel(Parcel dest, int flags) {}方法;
2.实例化CREATOR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public static final Parcelable.Creator<ParcelableImpl> CREATOR = new Parcelable.Creator<ParcelableImpl>() {
@Override
public ParcelableImpl createFromParcel(Parcel source) {
return new ParcelableImpl(source);
}
@Override
public ParcelableImpl[] newArray( int size) {
return new ParcelableImpl[size];
}
};
|
详细说明参照如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
import android.os.Parcel;
import android.os.Parcelable;
public class ParcelableImpl implements Parcelable {
private int num;
ParcelableImpl(Parcel in) {
num = in.readInt();
}
@Override
public int describeContents() {
return 0 ;
}
//将ParcelableImpl对象序列化为一个Parcel对象
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(num);
}
// CREATOR 必须大写,而且必须是“CREATOR”
public static final Parcelable.Creator<ParcelableImpl> CREATOR = new Parcelable.Creator<ParcelableImpl>() {
//将Parcel对象发序列化为ParcelableImpl
@Override
public ParcelableImpl createFromParcel(Parcel source) {
return new ParcelableImpl(source);
}
@Override
public ParcelableImpl[] newArray( int size) {
return new ParcelableImpl[size];
}
};
}
|