Intent传递数据时,可以传递哪些类型数据

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
@Override
publicint describeContents()
{
return0;
}
// From Parcelable
// 保存到包裹中
@Override
publicvoid 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
@Override
public 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是将数据传递到另一个上下文中或保存或回复你自己状态的数据存储方式。它的数据不是持久化状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464539.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

周记之琢磨下计算机网络(2018/10/22-2018/10/28)

网络&#xff0c;就如同空气一样&#xff0c;我们身处其中&#xff0c;却对它的存在司空见惯&#xff0c;从未察觉&#xff0c;而计算机网络这门课&#xff0c;的确让我看到了它的本来面目&#xff0c;它的五大层次&#xff08;从上往下&#xff09;&#xff1a;应用层、传输层…

我们应该搞清楚分支预测

分支预测的英文名字是「Branch Prediction」大家可以在Google上搜索这个关键字&#xff0c;可以看到关于分支预测的很多内容&#xff0c;不过要搞清楚分支预测如何工作的&#xff0c;才是问题的关键。分支预测对程序的影响我们来看看下面的两段代码代码1#include <algorithm…

Intent介绍及Intent在Activity中的使用方法

1.Intent的实现过程   在Android中&#xff0c;Intent不仅可用于应用程序之间的交互&#xff0c;也可用于应用程序内部的Activity/Service之间的交互。   Intent负责对应用中一次操作进行描述&#xff0c;描述内容包括动作以及动作所涉及的数据&#xff0c;Android中的In…

java 程序中打开文件和文件夹

打开文件 //打开工具的路径及名字 String toolsPath "C:/WINDOWS/system32/notepad.exe "; //被打开文件的路径及名字 String fileName "test.txt"; try { Runtime.getRuntime().exec(toolsPathfileName); } catch (IOException e) { // TODO Aut…

php函数可变参数列表,PHP函数可变参数列表的具体实现方法介绍

也许对于PHP初级程序员来说&#xff0c;对于PHP函数并不能完全熟练的掌握。我们今天为大家介绍的PHP函数可变参数列表的实现方法主要是利用func_get_args()、 func_num_args()、func_get_arg()这三个系统函数来实现的&#xff0c;其中func_get_args()函数以数组的形式获得参数列…

程序结束后去哪儿了?

大家好&#xff0c;我是写代码的篮球球痴&#xff0c;转发一篇卓老师的文章&#xff0c;文章中的内容我之前做单片机的时候也有遇到过。推荐给大家看看~简 介&#xff1a; 对于嵌入式系统&#xff0c;如果没有运行RTOS&#xff0c;那么程序开发中的 主函数&#xff08;main()&a…

CodeSmith终极玩法

CodeSmith是一个模仿asp.net运行机制的代码生成器, 运行时分析模板(相当aspx文件)的预编译指令和主体内容, 生成一个继承自CodeSmith.Engine.CodeTemplate(相当于System.Web.UI.Page)或者一个在Inherites预编译指令指定的类(相当于CodeBehind类)的源码, 且把它编译. 然后把这个…

bom与dom

区别 BOM&#xff08;Browser Object Model&#xff09; BOM 即浏览器对象模型&#xff0c;BOM没有相关标准&#xff0c;BOM的最核心对象是window对象。window对象既为javascript访问浏览器提供API&#xff0c;同时在ECMAScript中充当Global对象。BOM和浏览器关系密切&#xff…

Service 的生命周期;两种启动方法和区别

1&#xff1a;startService Service的生命周期&#xff1a;onCreate() --> onStart() -> onDestroy() 停止服务&#xff1a;service.stopService() 2&#xff1a;bindService Service的生命周期 onCreate() --> onBind() --> onUnBind() --> onDestroy() 停止…

用反射简化 asp.net 报表的一点总结

有几个报表, 查询条件都一样&#xff0c;仅仅里面GridView中有几个列区别&#xff0c;以前图快&#xff0c;就把原来Report.aspx文件拷贝一份&#xff0c;改名为Report1.aspx&#xff0c;然后&#xff0c;修改里面的column&#xff0c;然后再由后台库查出数据&#xff0c;填充到…

超轻型的数据库sqlite

很多次看到别人提到这个东西&#xff0c;最近因项目需要看了看&#xff0c;确实好用。总共就两个文件&#xff0c;我想不能再简单了。还是开源的。开发rails也可以用&#xff0c;不错&#xff01;转载于:https://www.cnblogs.com/chenge/archive/2005/06/29/183508.html

有些事不用听别人的

今天在群里跟几个朋友聊天&#xff0c;然后说了自己的想法&#xff0c;最近很多人在说公众号不会有好的发展&#xff0c;写文章也是没有出路的。不过这个是事实。短视频才是可能是出路&#xff0c;短视频是个很大的蛋糕&#xff0c;从表达方式上来说&#xff0c;视频的表达方式…

php读取三维数组,php 读取多维数组方法_PHP教程

php 读取多维数组方法for($i0;$i{for($j0;$j{echo $array[$j][userid];}}因为它是个多维数组,一般用foreach ($arr as $key > $value) {echo "Key: $key; Value: $value\n";}Array ( [0] > Array ( [userid] > 1 [username] > 刘振鹏 [status] > 0 [u…

互斥锁mutex的使用方法

在线程实际运行过程中&#xff0c;我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务&#xff1b;互斥锁的使用过程中&#xff0c;主要有pthread_mutex_init&#xff0c;pthread_mutex_destory&#xff0c;pthread_mutex_lock&#xff0c;pthread_mutex_unlock这几个函…

1000瓶药水,1瓶有毒药,几只小白鼠能够找出毒药

1000瓶药水&#xff0c;1瓶有毒药&#xff0c;服用后一小时毒发&#xff0c;毒药可以无限稀释&#xff0c;那么一小时内用几只小白鼠能够找出毒药&#xff1f; 假如是8瓶药水&#xff0c;3只小白鼠。 0000  0011  0102  0113  1004  1015  1106  1117 每位数表示…

25个优秀的设计机构网站设计案例

今天&#xff0c;我们一起来欣赏网站设计工作室自己的网站。设计公司的网站除了要能够吸引客户以外&#xff0c;还要通过他们自己的网站向客户展示他们的设计理念和风格。这里收集的25个优秀的设计机构网站既有清爽简洁风格的&#xff0c;也有色彩丰富&#xff0c;图文并茂的&a…

windows server 2003 出错提示请求的资源在使用中解决方案

1.杀毒软件造成IIS站点‘请求的资源在使用中’”的消息&#xff0c;如瑞星2005&#xff0c;服务器上使用单机版杀毒一般都不会稳定的。马上把瑞星卸载了&#xff0c;重启机器&#xff0c;一切正常。 2.IUSR_机器名和IWAM_机器名的账号不同步,这个在网上已经有解决方案了只要打开…

一个适用各类场合的Makefile模板

1.写在前面对于Windows下开发&#xff0c;很多IDE都集成了编译器&#xff0c;如Visual Studio&#xff0c;提供了“一键编译”&#xff0c;编码完成后只需一个操作即可完成编译、链接、生成目标文件。Linux开发与Windows不同&#xff0c;Linux下一般用的的gcc/g编译器&#xff…

matlab r2014a错误,MATLAB中的潜在错误使R2014a回归

MATLAB R2014a过去工作得很好w回归但是现在当变量很好并且排名满意时我得到一个错误。X rand([10 3])X 0.8407 0.3517 0.07590.2543 0.8308 0.05400.8143 0.5853 0.53080.2435 0.5497 0.77920.9293 0.9172 0.93400.3500 0.2858 0.12990.1966 0.7572 0.56880.2511 0.7537 0.469…

Android 如何退出整个应用程序?

转载文章&#xff1a;http://blog.csdn.net/sunnyfans/article/details/7688092 Android 怎么退出整个应用程序&#xff1f; 我们在写android应用程序时&#xff0c;经常会遇到想退出当前Acitivity&#xff0c;或者直接退出应用程序.我之前的一般操作是按返回键&#xff0c;或者…