Android学习笔记1-1--数据3--Bundle
来源:互联网 发布:易语言魔域登陆器源码 编辑:程序博客网 时间:2024/05/24 01:15
Bundle
Bundle简介
Bundle主要用于传递数据。它保存的数据是以key-value(键值对)的形式存在的(Bundle的内部实际上是使用了HashMap
Bundle方法
Bundle提供了各种常用类型的putXxx()/getXxx()方法,用于读写数据。
Parcelable类型
Parcelable是Android自定义的一个接口,它包括了将数据写入Parcel和从Parcel中读出的API。一个实体如果需要封装到bundle消息中去,可以通过实现Parcelable接口来实现。
从parcelable接口定义中,我们可以看到,实现parcelable接口,需要我们实现下面几个方法:
1、describeContents方法。内容接口描述,默认返回0就可以;
2、writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.即打包需要传递的数据到Parcel容器保存,以便从parcel容器获取数据,该方法声明如下:writeToParcel(Parcel dest, int flags) 具体参数含义见doc文档。
3、静态的Parcelable.Creator接口,本接口有两个方法:createFromParcel(Parcelin) 从Parcel容器中读取传递数据值,封装成Parcelable对象返回逻辑层。newArray(int size) 创建一个类型为T,长度为size的数组,仅一句话(returnnew T[size])即可。方法是供外部类反序列化本类数组使用。
Serializable类型
Serializable是一个对象序列化的接口。一个类只有实现了Serializable接口,它的对象才是可序列化的。因此如果要序列化某些类的对象,这些类就必须实现Serializable接口。而实际上Serializable是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。因此Serializable接口的实现方法就很简单,只要implements Serializable接口就可以了。
Intent
Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent(该对象中包含了一个Bundle对象变量,用于存储数据),Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。Intent可以划分成显式意图和隐式意图。
显式意图:调用Intent.setComponent()或Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
<intent-filter> <actionandroid:name="android.intent.action.CALL" /> <categoryandroid:name="android.intent.category.DEFAULT" /> <dataandroid:scheme="tel" /></intent-filter><intent-filter> <actionandroid:name="android.intent.action.CALL" /> <categoryandroid:name="android.intent.category.DEFAULT" /> <dataandroid:mimeType="vnd.android.cursor.item/phone" /></intent-filter>
- Android学习笔记1-1--数据3--Bundle
- Android应用开发学习笔记之使用Bundle交换数据
- Android学习笔记之Bundle
- android学习笔记之Bundle类
- Android 数据传递Bundle
- Android Bundle数据传递
- Android Bundle类笔记
- android学习笔记(一)activity的基本用法和创建,bundle如何传递数据,intent的用法
- Android学习篇章25-Intentc传输数据Bundle-Parcelable-Serializable
- Android Bundle类 学习
- Android中的Bundle学习
- android学习笔记之通过Intent传递Bundle用法
- Android学习笔记002-Bundle和intent-2016.7.17
- android bundle存放数据详解
- Android Intent传递Bundle数据
- Bundle(1)
- android学习第1篇:windows下android环境搭建:adt-bundle
- android学习第1篇:windows下android环境搭建:adt-bundle
- 【Cocos2dx-lua 3.11.1】运行错误link1158 无法运行"rc.exe"
- bootstrapvalidator校验验第三方插件
- Android菜单详解 使用上下文菜单ContextMenu
- < openCV > 最大稳定极值区域(MSER-Maximally Stable Extremal Regions)
- jenkins weblogic 自动部署
- Android学习笔记1-1--数据3--Bundle
- nodejs+mysql入门实例
- 安卓截屏分享功能实现
- STM32单片机GPIO资源理解以及上下拉选择探讨
- GLSL 基础量定义
- linux信号系列文终结篇:信号的捕捉(含mysleep的实现)
- Visualforce Page中的执行顺序
- poj-1704
- Android学习笔记1-2--通信1--HTTP