1 Intent简介
Android Studio中的Intent类可以翻译为“意图”,是对是要完成操作的抽象描述。Intent主要用在多个启动的Activity(活动)中间,用于活动之间传递数据。
2 Intent组成
Intent主要由action(动作)和data(数据)组成。
2.1 action
Intent的action主要指的是“意图”的“动作”,即“意图怎么做”。包括了ACTION_VIEW、ACTION_EDIT、ACTION_MAIN等。其中,ACTION_VIEW表示将数据显示给用户;ACTION_EDIT表示让用户对指定的数据有编辑的权限;ACTION_MAIN表示指定启动应用程序时首先显示哪个活动。设置Intent的action的代码如图1①所示。
图1 使用Intent
在图①中,首先定义了Intent类的对象intent,之后通过intent调用Intent类的setAction()方法,设置Intent的action,该方法的参数“android.intent.action.VIEW”是Intent类的字段ACTION_VIEW对应的字符串。图1①中代码的作用是将“意图”intent的“动作”action设置为显示数据。
2.2 data
Intent的data主要指的是“意图”要操作的数据,即“意图做什么”。主要使用Uri类表示数据。
2.2.1 Uri类
Uri类是操作的数据,Android Studio中的图像、视频片段以及网页都可以用Uri来表示。
相关链接1 URI是Universal Resource Identifier的简称,即通用资源标识符。
相关链接2 URI与URL的区别,URL是Uniform Resource Locator的简称,即统一资源定位符,是互联网上描述信息资源的字符串,比如在浏览器中输入的网址就是URL。URI包含了URL,URL是URI的一个子集。
从图1②中可以看到,Uri类的parse()方法的作用是从给定的Uri字符串中得到对应的Uri对象。
2.2.2 指定数据
之后通过Intent类的对象intent,调用setData()方法设置“意图”的数据。该数据为“百度”网站的网址。
在设置好了“意图”的动作和数据之后,就可以通过Activity(活动)来实现“意图”了,即“意图”通过“动作”做“数据”。图1③中通过startActivity()方法启动一个活动来实现方法。图1代码的作用是启动“浏览器”(活动)来显示(动作)百度网站的网页(数据),如图2所示。
图2 Intent的实现