博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android基础-Intent
阅读量:7237 次
发布时间:2019-06-29

本文共 1512 字,大约阅读时间需要 5 分钟。

  hot3.png

调用Android 专有类Intent 进行架构屏幕之间的切换。Intent 是描述应用想要做什么。Intent 数据结构两
个最重要的部分是动作和动作对应的数据。典型的动作类型有:MAIN(活动的门户)、VIEW、PICK、EDIT
等。而动作对应的数据则以URI 的形式进行表示。例如:要查看某个人的联系方式,你需要创建一个动作类
型为VIEW 的Intent,以及一个表示这个人的URI。
Android 使用了Intent 这个特殊类,实现在屏幕与屏幕之间移动。Intent 类用于描述一个应用将会做什么
事。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:M AIN(activity
的门户)、VIEW、PICK、EDIT 等。而动作对应的数据则以URI 的形式进行表示。例如:要查看一个人的联
系方式,你需要创建一个动作类型为VIEW 的intent,以及一个表示这个人的URI。
与之有关系的一个类叫IntentFilter。相对于intent 是一个有效的做某事的请求,一个intentfilter 则用于描
述一个activity(或者IntentReceiver)能够操作哪些intent。一个activity 如果要显示一个人的联系方式时,需
要声明一个IntentFilter,这个IntentFilter 要知道怎么去处理VIEW 动作和表示一个人的URI。IntentFilter 需
要在AndroidManifest.xml 中定义。
通过解析各种intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,activity 将会调用
startActivity(IntentmyIntent)方法。然后,系统会在所有安装的应用程序中定义的IntentFilter 中查找,找到最
匹配myIntent 的Intent 对应的activity。新的activity 接收到myIntent 的通知后,开始运行。当startActivity 方

法被调用将触发解析myIntent 的动作,这个机制提供了两个关键好处:

A、Activities 能够重复利用从其它组件中以Intent 的形式产生的一个请求;

B、Activities 可以在任何时候被一个具有相同IntentFilter 的新的Activity 取代。

Android 使用了一个很特别的类别Intent,用来从一个画面跳另一个画面,Intent 是用来描述一个程

序想要做些什么事情。在Intent 的数据结构中有两个很重要的部分,一个是动作(action)及对数据产生
反应(data to act upon)。Action 主要的内容有MAIN(程序的入口点),VIEW,PICK,EDIT 等等。Data
则是用URI 的形式来表示。比如:想要查看一个人的联络数据时,你需要建立一个Intent,它包含了VIEW
的动作(action)及指向该人数据的URI 描述句。

当Intent 要求做某件事时,IntentFilter 被用来描述这个Activity 能够做些什么事情。比如一个Activity

要能够显示个人联络数据,你就必需要在intentFilter 说明你要如何处理个人联络数据, 并用
ACTION_VIEW 呈现出来。IntentFilter 都会在AndroidManifest.xml 清单里面声明。

不是非常理解上面的意思,可google intent

转载于:https://my.oschina.net/zhike/blog/139406

你可能感兴趣的文章
指针分析(一)
查看>>
[笔记]登录式Shell与非登录式Shell
查看>>
常见的SQL命令(2)
查看>>
聊聊Selenium不同webdriver的构造
查看>>
有关 PHP 和 js 浮点运算的坑
查看>>
ospf的基本配置
查看>>
vmware克隆Centos6.4虚拟机网卡无法启动问题
查看>>
Android Studio开发地图问题
查看>>
web及性能调优
查看>>
Linux文本处理工具三剑客---sed
查看>>
我们要创刊啦!征集你的观点
查看>>
锁定窗口编程实例就是这么简单只需三行中文即可
查看>>
通过HttpClient请求webService
查看>>
利用Azure Automation实现云端自动化运维(1)
查看>>
NO.63 在禅道里建立发布计划
查看>>
RHEL6 Kickstart无人值守安装
查看>>
安装sql server 示例数据仓库 AdventureWorks
查看>>
人家写代码,我写BUG的日子(2)
查看>>
解决 acer 安装 ubuntu 亮度无法调节问题
查看>>
NginX+keepalived实现高可用
查看>>