服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android中的Parcelable序列化对象

Android中的Parcelable序列化对象

2021-05-12 17:07Android开发网 Android

这篇文章主要介绍了Android中的Parcelable序列化对象,需要的朋友可以参考下

今天查阅资料,简单了解了一下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];
        }
    };
}

延伸 · 阅读

精彩推荐