当前课程知识点:智能设备应用开发(基于Android平台) > 单元4 使用Intent进行通信 > 任务三 浏览Google首页、打开一幅图片、启动给指定号码打电话、发短信页面 > html
返回《智能设备应用开发(基于Android平台)》慕课在线视频课程列表
Intent的Data属性通常用于向Action属性提供操作的数据,Data属性接收一个Uri对象。Uri字符串满足如下格式:
scheme://host:port/path
其中,冒号前面指定了数据的类型,后面的是数据部分。
例如:
content://com.android.contacts/contacts/1
如上实例中,content是scheme部分,com.android.contacts是host部分,port部分被省略,contacts/1是path部分。
Type属性则用于明确指定Data属性的数据类型或MIME类型,但是通常来说,当Intent不指定Data属性时Type属性才会起作用,否则Android系统将会根据Data属性值来分析数据的类型,所以无需指定Type属性。
一旦为Intent同时指定了Action和Data属性,那么Android将可根据指定的数据类型来启动特定的应用程序,并对指定的数据执行相应的操作。下面是几个Action属性、Data属性的组合:
ACTION_VIEW content://com.android.contacts/contacts/1:显示标识为1的联系人的信息
ACTION_EDIT content://com.android.contacts/contacts/1:编辑标识为1的联系人的信息
ACTION_DIAL content://com.android.contacts/contacts/1:显示向标识为1的联系人拨号的界面
ACTION_DIAL tel:123 显示向指定号码123拨号的界面
ACTION_VIEW content://contacts/people:显示所有联系人列表的信息
Data和Type的值会相互覆盖,即如果先设置Data的值,后设置Type的值,Data的值会被Type的值覆盖,反过来也是这样,想既有Data的值也有Type的值,那么就要调用Intent的setDataAndType()方法。
在AndroidMainifest.xml文件中为组件声明Data,Type属性都通过<data../>元素进行设置,格式如下:
<data android:mimeType="" //声明该组件所能匹配的Intent的Type属性
android:scheme="" //声明该组件所能匹配的scheme部分
android:host="" //声明该组件所能匹配的host部分
android:port="" //声明该组件所能匹配的的port部分
android:path="" //声明该组件所能匹配的path部分
android:pathPrefix="" //声明该组件所能匹配的path前缀
android:pathPattern=""//声明该组件所能匹配的path字符串模板
/>
Type属性对应组件中<data.../>子元素的mimeType的值必须相同,才能启动组件。
Data属性的Uri对象实际可分为scheme,host,port和path部分,此时并不要求这四个部分的值必须和<data../>子元素的android:scheme,android:host,android:port,android:path完全满足。有以下匹配条件:
1.如果目标组件<data.../>子元素只指定android:scheme属性,那么只要Intent的Data属性的scheme部分与android:scheme属性值相同,即可启动该组件。
2.如果目标组件<data.../>子元素只指定android:scheme属性,android:host属性,那么只要Intent的Data属性的scheme,host部分与android:scheme,android:host属性值相同,即可启动该组件。
3.如果目标组件<data.../>子元素只指定android:scheme属性,android:host,android:port属性,那么要求Intent的Data属性的scheme,host,port部分与android:scheme, android:host,android:port属性值相同,即可启动该组件。
4.如果目标组件<data.../>子元素只指定android:scheme,android:host,android:path,属性,那么只要求Intent的Data属性的scheme,host,path部分与android:scheme, android:host,android:path的属性值相同,即可启动该组件。
5.如果目标组件<data.../>子元素只指定android:scheme,android:host,android:port, android:path,属性,那么就要求Intent的Data属性的scheme,host,port,path部分依次与android:scheme,android:host,android:port,android:path的属性值相同,即可启动该组件。
返回《智能设备应用开发(基于Android平台)》慕课在线视频列表
-任务一 开发第一个Android应用程序
--外部链接
-单元1 开发第一个Android应用程序--任务一 开发第一个Android应用程序
-任务一 唐诗赏析软件
--html
--外部链接
-任务一 唐诗赏析软件--作业
-任务二 用户注册界面设计
--用户注册界面设计
-单元2 界面编程--任务二 用户注册界面设计
-任务三 用户登录界面设计
--用户登录界面设计
-单元2 界面编程--任务三 用户登录界面设计
-任务四 游戏开始界面设计
--游戏开始界面设计
-单元2 界面编程--任务四 游戏开始界面设计
-任务五 图片浏览器
--2-5-1
--2-5-2
-任务五 图片浏览器--作业
-任务六 个人信息收集界面设计
--个人信息收集界面
--RadioButton(单选按钮)和CheckBox(复选框)
--html
-任务六 个人信息收集界面设计--作业
-任务七 日期和时间选择器
--日期和时间选择器
-任务七 日期和时间选择器--作业
-任务八 猜拳游戏
--2-8-1
--2-8-2
-任务八 猜拳游戏--作业
-任务九 制作选项菜单
--制作选项菜单
--选项菜单
-任务九 制作选项菜单--作业
-任务十 简单的文本编辑器
--简单的文本编辑器
-任务十 简单的文本编辑器--作业
-任务十一 制作滚动视图界面
--制作滚动视图界面
-任务十一 制作滚动视图界面--作业
-任务一 用户登录功能实现
--3-1-1
--3-1-2
--3-1-3
--html
--Video
-任务一 用户登录功能实现--作业
-任务二 Activity的一生
--3-2-1
--3-2-2
--3-2-3
--3-2-4
-任务一 使用Intent的Action属性实现页面之间的跳转
--4-1-1
--4-1-2
--Intent的Action、Category属性与intent-filter配置
-任务二 返回系统HOME页面
--4-2-1
--4-2-2
--通过标准Action和Category调用系统Activity
-任务三 浏览Google首页、打开一幅图片、启动给指定号码打电话、发短信页面
--4-3-1
--4-3-2
--html
-任务一 使用SharePreferences存储和读取数据
--5-1-1
--5-1-2
-任务一 使用SharePreferences存储和读取数据--作业
-任务二 应用程序数据文件夹里的文件读写
--5-2-1
--5-2-2
--文件存储
--文件读取
-任务二 应用程序数据文件夹里的文件读写--作业
-任务三 基于SQLite的用户信息存储器
--5-4-1
--5-4-2
-任务三 基于SQLite的用户信息存储器--作业
-任务一 启动和关闭一个Service
--html
--html
--html
-任务一 启动和关闭一个Service--作业
-任务二 来电监听器
--来电监听器
--html
-任务二 来电监听器--作业
-任务一 基于TCP协议的点对点通信
--默认
--7-1-2
--7-1-3
-任务一 基于TCP协议的点对点通信--作业
-任务二 使用HTTP访问网络资源
--默认
--7-2-2
--html
-任务二 使用HTTP访问网络资源--作业
-任务三 天气预报软件实现
--7-3-1
--7-3-2
--7-3-3
--7-3-4
--7-3-5
--html
-课程介绍
--课程定位
--内容选取
--内容组织
--教学模式
--教学平台
-课程建设
--建设目标
--建设思路
--建设规划
--教材建设
--政策支持
-教学设计
--教学设计
--教学改革
-教学资源
--课程标准
--教案
--企业案例
-模拟题库
--技术答疑
--习题库
-实践教学
--实训项目指导书
--实训项目资源
--教学条件
-拓展资源
--案例库
--素材库
--培训项目包
-特色创新
--课程特色