5.IPC 机制(三) IPC基础概念介绍 Parcelable接口
2016-11-10 16:56
507 查看
Parcelable也是一个接口,只要实现这个接口,一个类的对象就可以实现序列化并可以通过Intent和Binder传递。记住原则,写的顺序要和读的顺序一致.
实现序列化的方法
Android中实现序列化有两个选择:一是实现Serializable接口(是JavaSE本身就支持的),一是实现Parcelable接口(是Android特有功能,效率比实现Serializable接口高效,可用于Intent数据传递,也可以用于进程间通信(IPC))。实现Serializable接口非常简单,声明一下就可以了,而实现Parcelable接口稍微复杂一些,但效率更高,推荐用这种方法提高性能。
Parcelable接口定义
示例代码:
码
1)Serializable的实现,只需要implements Serializable 即可。这只是给对象打了一个标记,系统会自动将其序列化。
2)Parcelabel的实现,不仅需要implements Parcelabel,还需要在类中添加一个静态成员变量CREATOR,这个变量需要实现 Parcelable.Creator 接口。
实现序列化的方法
Android中实现序列化有两个选择:一是实现Serializable接口(是JavaSE本身就支持的),一是实现Parcelable接口(是Android特有功能,效率比实现Serializable接口高效,可用于Intent数据传递,也可以用于进程间通信(IPC))。实现Serializable接口非常简单,声明一下就可以了,而实现Parcelable接口稍微复杂一些,但效率更高,推荐用这种方法提高性能。
Parcelable接口定义
public interface Parcelable { //内容描述接口,基本不用管public int describeContents(); //写入接口函数,打包public void writeToParcel(Parcel dest, int flags); //读取接口,目的是要从Parcel中构造一个实现了Parcelable的类的实例处理。因为实现类在这里还是不可知的,所以需要用到模板的方式,继承类名通过模板参数传入 //为了能够实现模板参数的传入,这里定义Creator嵌入接口,内含两个接口函数分别返回单个和多个继承类实例 public interface Creator<T> { public T createFromParcel(Parcel source); public T[] newArray(int size); } }
示例代码:
public class MyParcelable implements Parcelable { private int mData; public int describeContents() { return 0; } public void writeToParcel(Parcel out, int flags) { out.writeInt(mData); } public static final Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>() { public MyParcelable createFromParcel(Parcel in) { return new MyParcelable(in); } public MyParcelable[] newArray(int size) { return new MyParcelable[size]; } }; private MyParcelable(Parcel in) { mData = in.readInt(); } }
码
1)Serializable的实现,只需要implements Serializable 即可。这只是给对象打了一个标记,系统会自动将其序列化。
2)Parcelabel的实现,不仅需要implements Parcelabel,还需要在类中添加一个静态成员变量CREATOR,这个变量需要实现 Parcelable.Creator 接口。
相关文章推荐
- IPC基础概念介绍第二篇(Parcelable接口)
- 4.IPC 机制(二) IPC基础概念介绍
- IPC基础概念---Parcelable接口
- 【Android学习】IPC 基础概念(序列化接口介绍)
- IPC机制系列之二 IPC机制的基础概念Serializable、Parcelable以及Binder
- IPC机制---03 IPC基础概念介绍
- 6.IPC 机制(四) IPC基础概念介绍 Binder
- IPC基础概念介绍第一篇(Serializable接口)
- Android IPC基础概念介绍
- Android IPC基础概念之(序列化)介绍
- IPC基础概念Serializable、Parcelable、Binder
- 2.1 IPC机制简介与基础概念
- 【 Makefile 编程基础之一】详细介绍Makefile概念和其机制用途
- 【 Makefile 编程基础之一】详细介绍Makefile概念和其机制用途;
- Android IPC机制之IPC概念、Android 多进程和相关基础知识
- IPC通信基础介绍之Serializable和Parcelable详解
- Android基础——序列化机制(实现Parcelable接口)
- 【 Makefile 编程基础之一】详细介绍Makefile概念和其机制用途;
- IPC(二)---IPC基础概念介绍
- IPC基础概念介绍第三篇(Messenger)