Android编程——intent详解
1.介绍
Intent可以启动Activity,也可以启动Service,还可以发起广播Broadcasts
Intent的中文意思是“意图,意向”,这个类用于提供信息以供对应的函数使用
Intent的对应函数:
组件名称 | 函数名称 |
---|---|
Activity | startActvity() |
Service | startService() bindService() |
Broadcasts | sendBroadcasts() sendOrderedBroadcasts() sendStickyBroadcasts() |
成员名称 | 释义 |
---|---|
Action | 动作(意图) |
Data | 传递的数据 |
extras | 额外的数据 |
category | 目标所具有的特征 |
type | 目标所能处理的数据类型 |
component | 目标组件的包名或类名 |
//AndroidManifest.xml
//可以理解为给组件添加标签,用以找到和标签对应的组件
//系统定义的标签,与其绑定的组件有不同的作用
//比如:activity:电话,短信,联系人,网页浏览,....//Intent默认参数,必须添加
//Activity.java
//从A窗口跳转到B窗口,不带数据
public void gotoTestActivity1(View view)
{
1.隐式(系统会去注册的组件中找和标签匹配的组件,和其绑定的类)
//请参考上面的:AndroidManifest.xml
Intent intent = new Intent("com.example.nihuai.intent.action.Test");
//从A窗口跳转到B窗口
startActivity(intent);
}//Activity.java
//从A窗口跳转到B窗口,不传递数据
public void gotoTestActivity2(View view)
{
2.显示(系统不需要找,参数提供了和组件绑定的类,所以不用添加标签)
//参数2:和组件绑定的类
Intent intent = new Intent(A.this,B.class);
//从A窗口跳转到B窗口
startActivity(intent);
}//Activity.java
//从A窗口跳转到B窗口,传递数据
//可在B窗口创建时取出数据
//系统的打电话就是在创建的时候取出数据
//并调用了设置电话号码和拨打电话
public void gotoTestActivity2(View view)
{
2.显示(系统不需要找,参数提供了和组件绑定的类,所以不用添加标签)
//参数2:和组件绑定的类
Intent intent = new Intent(A.this,B.class);
String data= "https://www.it610.com/article/nihuai";
intent.putExtra("putData",data);
startActivity(intent);
}
3.总结 intent的成员变量分三类:
1.系统根据标签定位组件:(Action,category,type,Data)
给组件加标签(AndroidManifest.xml)
系统根据提供的标签匹配和组件绑定的类
调用类中的onCreate来创建组件
2.明确的目标组件(component)
设置成员变量内容:setComponent
系统不会在根据标签来匹配对应的组件
因为它指定了和目标组件绑定的类
调用类中的onCreate来创建组件
3.传递数据:(Data,extras)
Data可以当参数传递,也可以当标签来定位组件
数据可以传递给启动的组件
数据可以从启动的组件传递给调用它的组件(上一层组件)
【Android编程——intent详解】参考书籍:
第一行代码(第2版)
推荐阅读
- 急于表达——往往欲速则不达
- 慢慢的美丽
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- android第三方框架(五)ButterKnife
- 2019-02-13——今天谈梦想()
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- Ⅴ爱阅读,亲子互动——打卡第178天
- 低头思故乡——只是因为睡不着
- 取名——兰
- 每日一话(49)——一位清华教授在朋友圈给大学生的9条建议