基于Android的移动应用开发15456.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* Intent过滤器 Intent解析 Intent到Intent过滤器的映射过程称为“Intent解析” Intent解析可以在所有的组件中,找到一个可以与请求的Intent达成最佳匹配的Intent过滤器 Intent解析的匹配规则 Android系统把所有应用程序包中的Intent过滤器集合在一起,形成一个完整的Intent过滤器列表 在Intent与Intent过滤器进行匹配时,Android系统会将列表中所有Intent过滤器的“动作”和“类别”与Intent进行匹配,任何不匹配的Intent过滤器都将被过滤掉。没有指定“动作”的Intent过滤器可以匹配任何的Intent,但是没有指定“类别”的Intent过滤器只能匹配没有“类别”的Intent * Intent过滤器 Intent解析 把Intent数据Uri的每个子部与Intent过滤器的data标签中的属性进行匹配,如果data标签指定了协议、主机名、路径名或MIME类型,那么这些属性都要与Intent的Uri数据部分进行匹配,任何不匹配的Intent过滤器均被过滤掉 如果Intent过滤器的匹配结果多于一个,则可以根据在intent-filter标签中定义的优先级标签来对Intent过滤器进行排序,优先级最高的Intent过滤器将被选择 Intent-ToDoList6 在ToDoList3的基础上,专门有一个活动来管理新输入项,并增加编辑功能 参见项目源码 练习 综合ToDoList5、TodoList6,实现新的TodoList工程,包括多个Activity、UI状态的保存,待办事项的存储等功能。 * 广播消息 广播消息 Intent的另一种用途是发送广播消息 应用程序和Android系统都可以使用Intent发送广播消息 广播消息的内容可以与应用程序密切相关的数据信息,也可以Android的系统信息,例如网络连接变化、电池电量变化、接收到短信和系统设置变化等等 如果应用程序注册了BroadcastReceiver,则可以接收到指定的广播消息 * 广播消息 广播信息的使用方法 创建一个Intent 注意:在构造Intent时必须用一个全局唯一的字符串标识其要执行的动作,通常使用应用程序包的名称 调用sendBroadcast()函数,就可把Intent携带的消息广播出去 如果要在Intent传递额外数据,可以用Intent的putExtra()方法 * 广播消息 利用Intent发送广播消息,并添加了额外的数据,然后调用sendBroadcast()发生了广播消息的代码 String UNIQUE_STRING = “com.example.broadcoastdemo.BroadcastDemo; Intent intent = new Intent(UNIQUE_STRING); intent.putExtra(key1, value1); intent.putExtra(key2, value2); sendBroadcast(intent); * 广播消息 BroadcastReceiver BroadcastReceiver用于监听广播消息 可以在AndroidManifest.xml文件或在代码中注册一个BroadcastReceiver,并在其中使用Intent 过滤器指定要处理的广播消息 创建BroadcastReceiver需继承BroadcastReceiver类,并重载onReceive()方法。代码如下 public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //TODO: React to the Intent received. } } * 广播消息 BroadcastReceiver的应用程序不需要一直运行,当Android系统接收到与之匹配的广播消息时,会自动启动此BroadcastReceiver 基于以上的特征,BroadcastReceiver适合做一些资源管理的工作 在BroadcastReceiver接收到与之匹配的广播消息后,onReceive()方法会被调用 onReceive()方法必须要在5秒钟执行完毕,否则Android系统会认为该组件失去响应,并提示用户强行关闭该组件 * 广播消息 BroadcastDemo示例说明了如何在应用程序中注册BroadcastReceiver,并接收指定类型的广播消息 在点击“发送”按钮后,EditText控件中内容将以广播消息的形式发送出去, 示例内

文档评论(0)

精品文档专区 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档