Parcelable 类,接口类,用于数据的序列化封装。常见的Bundle,Intent类都实现了该类。

 
实现该类需要实现writeToParcel和describeContents方法,最后还需要实现一个静态接口Creator

延伸下:为何需要数据的序列化?
数据的传输和保存时,如果一个对象A引用了另一个对象B,那么如果我们需要保存两个对象A,B,用普通的数据保存则是要进行保存两次B,但是通过序列化则不会,序列化会在保存前先给对象编号,然后在保存时遍历前面,如果存在则标记为已保存。
序列化的定义是将对象或者类,序列化成可以传输的流,从而可以传送给别人使用。所以运用在IPC,网络传输,文件存储。
序列化可以通过实现Serializable 和 Parcelable来实现。
Serializable Java自带,效率低,但是可以存储到本地。
parcelable Android自有,效率高,不可存储本地。
 
 
附一个简易的Parcelable类的实现
public class MyParcel implements Parcelable {
       
        private int mIntData ;
        private String mStringData ;
       
        public MyParcel() {
              // TODO Auto-generated constructor stub
       }
        public MyParcel(Parcel in){
              mIntData = in.readInt();
              mStringData = in.readString();
             
       }
       
        public String getStringData(){
              return mStringData ;
       }
        public void setStringData(String data){
              mStringData = data;
       }
        @Override
        public int describeContents() {
              // TODO Auto-generated method stub
              return 0;
       }
 
        @Override
        public void writeToParcel(Parcel dest, int flags) {
              // TODO Auto-generated method stub
             dest.writeInt( mIntData);
             dest.writeString( mStringData);
       }
 
        public static final Parcelable .Creator<MyParcel> CREATOR = new Parcelable.Creator<MyParcel>() {
 
              @Override
              public MyParcel createFromParcel(Parcel source) {
                     // TODO Auto-generated method stub
                     return new MyParcel(source);
             }
 
              @Override
              public MyParcel[] newArray(int size) {
                     // TODO Auto-generated method stub
                     return new MyParcel[size];
             }
       };
}

Parcelable 小记的更多相关文章

  1. [原]Paste.deploy 与 WSGI, keystone 小记

    Paste.deploy 与 WSGI, keystone 小记 名词解释: Paste.deploy 是一个WSGI工具包,用于更方便的管理WSGI应用, 可以通过配置文件,将WSGI应用加载起来. ...

  2. 对 Serializable和Parcelable理解

    1.首先他们两个接口都是为了实现对象的序列化,使之可以传递,所谓序列化就是将对象信息装换成可以存储的介质的过程. 2.Serializable是jdk所提供的序列化接口,该接口存在于io包下,可想用于 ...

  3. Parcelable序列化的使用,关于intent.getParcelableArrayExtra的使用

    Parcelable相较于Serializable的效率更高 public class ChargeMode implements Parcelable{ public String name; pu ...

  4. MySql 小记

    MySql  简单 小记 以备查看 1.sql概述 1.什么是sql? 2.sql发展过程? 3.sql标准与方言的关系? 4.常用数据库? 5.MySql数据库安装? 2.关键概念 表结构----- ...

  5. Android 的Parcelable接口

    此文转载自http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html 1. Parcelable接口 Interface ...

  6. Git小记

    Git简~介 Git是一个分布式版本控制系统,其他的版本控制系统我只用过SVN,但用的时间不长.大家都知道,分布式的好处多多,而且分布式已经包含了集中式的几乎所有功能.Linus创造Git的传奇经历就 ...

  7. 广州PostgreSQL用户会技术交流会小记 2015-9-19

    广州PostgreSQL用户会技术交流会小记 2015-9-19 今天去了广州PostgreSQL用户会组织的技术交流会 分别有两个session 第一个讲师介绍了他公司使用PostgreSQL-X2 ...

  8. 东哥读书小记 之 《MacTalk人生元编程》

         一直以来的自我感觉:自己是个记性偏弱的人.反正从小读书就喜欢做笔记(可自己的字写得巨丑无比,尼玛不科学呀),抄书这事儿真的就常发生俺的身上. 因为那时经常要背诵课文之类,反正为了怕自己忘记, ...

  9. Paypal支付小记

    Paypal支付小记 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !impo ...

随机推荐

  1. Properties类对于文件的读取和写入

    Properties类表示一个持久的属性集.Properties可保存在流中或从流中加载.Properties对象只能加载以 .Properties 为后缀的文件(文件我创建在src下). 开始时文件 ...

  2. html 中 xmp标记

    HTML页面中显示HTML标签代码,可以使用<xmp>html标签内容</xmp>,这样,在网页中就会显示html标签 for(var i=0;i<columns.len ...

  3. CenOS_用户管理

    1.用户的创建 1.1基本创建 useradd <用户名> 如:useradd xm 默认在home目录下 为用户增加/修改密码: passwd <用户名> 如:passwd ...

  4. Windows下建立FTP服务器站点

    环境 操作系统版本:Win7旗舰版64位系统 1.安装FTP组件 打开或关闭Windows功能,打开过程可能会比较慢,大概3.4分钟: 安装FTP组件.勾选Internet信息服务下的FTP服务器.F ...

  5. Java对象引用/JVM分级引用——强引用、软引用、弱引用、虚引用

    无论是通过引用计数法判断对象的引用数量,还是通过可达性分析算法判断对象的引用链是否可达,判断对象是否存活都与“引用”有关, 相关资料:如何判断对象是否存活/死去 那么引用究竟是什么?让我们一起来看一下 ...

  6. Storm入门(十)Twitter Storm: Transactional Topolgoy简介

    作者: xumingming | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://xumingming.sinaapp.com/736/twitter-stor ...

  7. Web地图呈现原理

    地图投影 对于接触互联网地图的同学来说,最开始接触的恐怕就是坐标转换的过程了.由于地球是个近似椭球的形状,有各种各样的椭球模型来模拟地球,最著名的也就是GPS系统使用的WGS84椭球了.但是这些椭球体 ...

  8. 爬虫框架之Scrapy(一)

    scrapy简介 scrapy是一个用python实现为了爬取网站数据,提取结构性数据而编写的应用框架,功能非常的强大. scrapy常应用在包括数据挖掘,信息处理或者储存历史数据的一系列程序中. s ...

  9. Hadoop系列001-大数据概论

    本人微信公众号,欢迎扫码关注! 大数据概论 1.大数据概念 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发 ...

  10. Springboot整合Elastic-Job(二)

    上文我们讲到Springboot整合Elastic-Job整合的demo,只是简单的实现了主要功能.本文在上文基础上,进行新的调整. 事件追踪 Elastic-Job提供了事件追踪功能,可通过事件订阅 ...