- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【麦子学院】Android Parcelable接口使用方法详解
IT 在线教育平台———麦子学院:
【麦子学院】Android Parcelable 接口使用方法详解
在 Android 开发中,我们会遇到各种各样情况,比如如何将对象保存在本地磁盘或网
络上传输等。其实,实现序列化的方式有两种方式,分别是实现 Serializable 接口和实现
Parcelable ,今天小编和大家介绍的就是Android 序列化中 Parcelable 接口的使用。
Serializable 接口与 Parcelable 接口的区别
在将 Parcelable 接口的使用前,我们先来看看 Serializable 接口和 Parcelable 接口有什
么区别:
1、Serializable 是 JDK 提供的接口,而 Parcelable 是 Android SDK 提供的。
2、Serializable 序列化是基于磁盘的,而 Parcelable 是基于内存的。在内存中读写的效率
要高于磁盘,所以Android 中跨进程传递对象都是使用 Parcelable。
Parcelable 接口定义
public interface Parcelable {
// 内容描述接口,基本不用管
public int describeContents();
//写入接口函数,打包
public void writeToParcel(Parcel dest, int flags);
//读取接口,目的是要从 Parcel 中构造一个实现了 Parcelable 的类的实例处理。因为实
现类在这里还是不可知的,所以需要用到模板的方式,继承类名通过模板参数传入。
//为了能够实现模板参数的传入,这里定义 Creator 嵌入接口,内含两个接口函数分别
返回单个和多个继承类实例。
public interface CreatorT {
public T createFromParcel(Parcel source);
public T[] newArray(int size);
}
IT 在线教育平台———麦子学院:
从 parcelable 接口定义中,我们可以看出,实现 parcelable 接口,我们需要实现下面
几个方法:
1.describeContents 方法。内容接口描述,默认返回 0 就可以;
2.writeToParcel 方法。该方法将类的数据写入外部提供的 Parcel 中。即打包需要传递的数
据到 Parcel 容器保存,以便从 parcel 容器获取数据,该方法声明如下:
writeToParcel (Parcel dest, int flags) 具体参数含义见javadoc
3、静态的 Parcelable.Creator 接口,本接口有两个方法:
createFromParcel(Parcel in) 从 Parcel 容器中读取传递数据值,封装成 Parcelable 对
象返回逻辑层。
newArray(int size) 创建一个类型为T ,长度为size 的数组,仅一句话(return new
T[size])即可。方法是供外部类反序列化本类数组使用。
Parcelable 接口的使用
public class AppContent implements Serializable, Parcelable {
//应用名字
private String name;
//应用下载链接
private String url;
private int downloadPercent = 0;
private Status status = Status.PENDING;
public AppContent(String name, String url) {
= name;
this.url = url;
}
public String getName() {
return name;
}
public void setName(String name) {
IT 在线教育平台———麦子学院:
= name;
}
public String getUrl() {
return url;
}
public void s
您可能关注的文档
- 国际营销学课件ch 7 competition strategy.ppt
- rmi远程对象rebind的AccessException.pdf
- SAM-BA扩展应用.pdf
- SAT词频13000_灵格思_Section13.pdf
- 2C-R软件的使用.ppt
- ★企业导论第六章 企业外部环境20131209.ppt
- 3企业战略环境分析.ppt
- 职称计算机c级网络部分模拟题.ppt
- 徐荣.明华MBA管理讲义——领导.ppt
- 单片机的c语言程序应用 第11章答案.ppt
- 人教A版高考总复习一轮数学精品课件 第7章 平面向量、复数 第1节平面向量的概念及线性运算.ppt
- 高中历史必修第1册 中外历史纲要(上) 阶段检测二 (第三、四单元).doc
- 北师大版高考英语一轮总复习 高考题型组合练 选择性必修第3册精品课件 UNIT 8 LITERATURE.ppt
- 北师大版高考英语一轮总复习 选择性必修第2册精品课件 UNIT 4 HUMOUR.ppt
- 北师大版高考英语一轮总复习 选择性必修第2册精品课件 UNIT 5 EDUCATION.ppt
- 北师大版高考英语一轮总复习精品课件 必修第1册精品课件 UNIT 3 CELEBRATIONS.ppt
- 高中历史必修第2册 中外历史纲要(下)课时作业06 全球航路的开辟.doc
- 人教A版高考总复习一轮数学精品课件 第5章 三角函数、解三角形 课时规范练30 三角恒等变换.ppt
- 北师大版高考英语一轮总复习 选择性必修第4册精品课件 UNIT 12 INNOVATION.ppt
- 北师大版高考英语一轮总复习 选择性必修第3册精品课件 UNIT 9 HUMAN BIOLOGY.ppt
文档评论(0)