android学习2:Intent与Bundle

Intent:

1.Intent用来启动系统组件(Activity,Service,BroadcastReceiver)

2.Intent的属性

Component属性:接受一个ComponentName对象,创建一个ComponentName对象需要指定包名和类名,构造函数如下:

ComponentName(String pkg, String cls)

ComponentName(Context pkg, String cls)

ComponentName(Context pkg, Class<?> cls)

即需要包名+类名

Action属性:代表该Intent所要完成的一个抽象动作,具体由哪个组件完成是不知道的,取决于组件的<intent-filter/>配置,只要组件的<intent-filter/>包含该动作,组件就有可能被启动(一个Intent最多包含一个Action属性)

Category属性:为Action属性增加额外的信息(一个Intent可以包含多个Category属性)

Data属性:为Action属性提供操作的数据,接受一个Uri对象,分为类型部分和数据部分 tel:12345   一旦同时指定Action、Data属性,则会启动特定应用成语并对指定数据执行相应操作

Type属性:用于指定Data属性所指定的数据的类型或MIME类型(一般在没设置Data属性时使用,有Data属性则可从Data属性获得数据类型)

Extra属性:用于在多个Action间进行数据交换,是一个Bundle对象(Bundle对象是一个Map对象)


Bundle:

Bundle对象是一个Map对象,存储键值对(key-value)

1.传递数据:

Bundle提供了各种putX(String key, X value)和getX(String key) getX(String key, X defaultValue)方法,可以是boolean,int,long,float,double,String与它们对应的数组putXArray(String key, X[] value)和getXArray(String key)

2.传递Serializable类型的对象:

直接Implement  Serializable接口,即可实现序列化,较慢,Bundle提供putSerializable(String key, Serializable value)和getSerializable(String key)方法

3.传递Parcelable类型对象:

同样是实现数据的序列化,是android自定义接口,较快,下次详细研究,Bundle提供putParcelable(String key, Parcelable value),putParcelableArray(String key, Parcelable[] value),putParcelableArrayList(String key, ArrayList<? extends Parcelable> value)和getParcelable(String key),getParcelableArray(String key),getParcelableArrayList(String key)方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值