Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选)

A、Serializable  B、charsequence C、Parcelable  D、Bundle

除了上面的还能传递基本数据类型(byte/boolean/char/short/int/float/long/double)、String/StringBuffer/StringBuilder类型

Serializable :将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用ObjectInputStream 和 ObjectOutputStream 进行对象的读写。

charsequence  :

在JDK1.4中,引入了CharSequence接口,实现了这个接口的类有:CharBuffer、String、StringBuffer、StringBuilder这个四个类。

CharBuffer为nio里面用的一个类,String实现这个接口理所当然,StringBuffer也是一个CharSequence,StringBuilder是Java抄袭C#的一个类,基本和StringBuffer类一样,效率高,但是不保证线程安全,在不需要多线程的环境下可以考虑。

提供这么一个接口,有些处理String或者StringBuffer的类就不用重载了。但是这个接口提供的方法有限,只有下面几个:charat、length、subSequence、toString这几个方法,感觉如果有必要,还是重载的比较好,避免用instaneof这个操作符。

Parcelable  :

Android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。 除了基本类型以

外,只有实现了Parcelable接口的类才能被放入Parcel中。

是GOOGLE在安卓中实现的另一种序列化,功能和Serializable相似,主要是序列化的方式不同

利用Parcelable接口实现数据通过Intent/Bundle进行传递

public class PersonInfo implements Parcelable{public String iName; // 人名publicint iSex; // 性别    public String iId; // 身份证号码    public String iMobileNumber; // 手机号码    public String iEMailAddr; // 邮箱地址// From Parcelable@Overridepublicint describeContents()    {return0;}    // From Parcelable// 保存到包裹中    @Overridepublicvoid writeToParcel(Parcel dest, int flags) {        dest.writeString(iName);        dest.writeInt(iSex);        dest.writeString(iId);        dest.writeString(iMobileNumber);        dest.writeString(iEMailAddr); }// 实现Parcelable接口的类型中,必须有一个实现了Parcelable.Creator接口的静态常量成员字段,// 并且它的名字必须为CREATOR的publicstaticfinal Parcelable.Creator<PersonInfo> CREATOR =new Parcelable.Creator<PersonInfo>()    {// From Parcelable.Creator @Overridepublic PersonInfo createFromParcel(Parcel in) {            PersonInfo brief =new PersonInfo();// 从包裹中读出数据            brief.iName = in.readString();            brief.iSex = in.readInt();            brief.iId = in.readString();            brief.iMobileNumber = in.readString();            brief.iEMailAddr = in.readString();return brief;        }        // From Parcelable.Creator        @Override        public PersonInfo[] newArray(int size)        {            returnnew PersonInfo[size];        }    };}

Bundle:Bundle是将数据传递到另一个上下文中或保存或回复你自己状态的数据存储方式。它的数据不是持久化状态。

Intent传递数据时,可以传递哪些类型数据相关推荐

  1. 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致,很是郁闷,诡异...

    今天 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致的问题,郁闷我很长一段时间 执行的方法 ...

  2. mysql中用于删除数据的是什么意思_在删除关系表中数据时,要先删除主表数据再删除从表数据。_学小易找答案...

    [单选题]在MySQL中,所有存储过程的信息存放在下列哪个数据库中 [填空题]拉伸试验能测定的塑性指标有: 和 . [单选题]下面查看视图的基本信息的语句中,正确的是 [单选题]下面关于视图建立的说法 ...

  3. navicat还原mysql备份数据时,部分表无数据

    最近在使用navicat正在本地恢复数据时,发现部分表数据,百度一下,发现是由于max_allowed_packed设置过小,而insert时数据过多导致出错,修改max_allowed_packed ...

  4. redis 什么是冷数据_redis一般存储什么类型数据

    Redis是一个开源的底层使用C语言编写的key-value存储数据库.可用于缓存.事件发布订阅.高速队列等场景.而且支持丰富的数据类型:string(字符串).hash(哈希).list(列表).s ...

  5. 更新数据时redis缓存与数据库数据不一致的问题

    最初级的缓存不一致问题及解决方案 问题:先修改数据库,再删除缓存.如果删除缓存失败了,那么会导致数据库中是新数据,缓存中是旧数据,数据就出现了不一致. 解决思路:先删除缓存,再修改数据库.如果数据库修 ...

  6. Arduino 串口数据接收并打印输出int类型数据

    Arduino串口接收并打印输出int类型数据 相关文章 <Arduino读取串口接收到的数据并发送数据> <Arduino 基于Stream类的函数详细说明> <Ard ...

  7. MySQL 插入数据时如何不插入重复的数据

    1. 业务场景 针对一些基础业务数据如用户表,要保证主键Primary或Unique不重复,如果在插入时做判断,效率低且代码复杂. 2. 实现方案 基于MySQL数据库,实现方案有如下4种 repla ...

  8. struts通过Ajax返回数据时,例如对象类型,没有执行Ajax的回调函数

    <result type="json"  name="success">                  <param name=" ...

  9. jdbc mysql 成功 spring mysql 失败_java Spring 的JDBCTemplet批量入库数据时如果有一条数据入库不成功,其他的数据还会入库吗...

    展开全部 在我们的项32313133353236313431303231363533e59b9ee7ad9431333363373639目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客 ...

  10. mysql插入数据时中文乱码_MySQL 插入数据时,中文乱码???问题的解决

    在终端,mysql -u root -p 登录: show variables like 'character%'; 来查看当前数据库的相关编码集. client 为客户端使用的字符集. connec ...

最新文章

  1. 好文推荐,15 分钟教你搞懂 Git!
  2. Android生成Xml文件
  3. python getchar,Linux C编程学习:getchar()和getch()
  4. Android udp json+数组 ---gt;bytes发送数据
  5. 【端午送福】13000 人正在学习的数据分析实战课,抽奖送送送!
  6. Golang中WaitGroup使用的一点坑
  7. 南阳理工oj 题目26 孪生素数问题 素数筛选法
  8. mysql all和distinct_mysql distinct 使用实例(过滤多余的重复记录)
  9. 忘记数据库密码,修改数据库密码(亲测有效)
  10. vrep与vs2015联合仿真(C/C++)
  11. win7设置定时开关机
  12. PHP微信公众号开发之:获得和缓存access_token,原理及代码
  13. easyExcel导出文件为空解决
  14. 关于数据库连接IDEA报错
  15. java游戏怎么导入jme3,java - JME:将带有纹理的Cinema 4d模型导入jMonkey Projekt - 堆栈内存溢出...
  16. HTML+CSS+JS制作一个生日祝福网站(程序员专属情人节表白网站)
  17. 你不可不知的《哈利波特》秘密(四)
  18. 七夕送对象什么礼物最实用?盘点保护视力的护眼灯
  19. 【哈士奇赠书活动 - 18期】-〖Flask Web全栈开发实战〗
  20. 三维地图之cesium加载天地图(有代码)

热门文章

  1. Docker Compose 项目
  2. Jenkins + gitlab webhook实现自动化部署
  3. Docker 基本用法
  4. JS 停留几秒后返回上一页
  5. 爬虫——————爬取中金所,深交所,上交所期权数据
  6. 链表的头结点和尾节点的用处
  7. 关于Python3.7和Python3.6中元组类型数据内存存储问题
  8. flask-restful接口
  9. 串口之GetCommState、SetCommState函数详解
  10. 应用层协议:HTTP与HTTPS协议详解、二者的区别