- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android系统的广播与服务
3.1 服务的管理 表6.2 MediaPlayer类的常用方法 方法 说明 create() 创建多媒体播放器 getCurrentPosition() 获得当前播放位置 getDuration() 获得播放文件的时间 isLooping() 是否循环播放 isPlaying() 是否正在播放 pause() 暂停 prepare() 准备播放文件,进行同步处理 release() 释放 reset() 重置 seekTo() 指定播放文件的播放位置 setVolume() 设置音量 start() 开始播放 stop() 停止播放 3 本地服务 3.2 多线程服务 在Android系统中,如果用户界面失去响应超过5秒后,系统就会提示用户是否需要强行关闭该应用程序。 因此,当我们需要在程序中做一些比较耗时的操作,如下载文件,最好的办法是在后台服务中另开一个线程用于处理该耗时操作,这样既不会让用户界面失去响应,同时在界面跳转后服务中的线程也不会受影响。 需要注意的是,后台服务虽然没有界面,但仍然是主线程的一部分。 3.2 多线程服务 Android系统中采用Java中的方法建立和使用线程。 通常的方法是创建一个类来实现Runnable接口。 Runnable接口是Java中实现线程的接口,其中只提供了一个抽象方法run()的声明,任何实现线程的类都必须实现该接口。 实现Runnable接口有两种方式,一种是直接新建一个Runnable对象,第二种是新建一个类并实现Runnable。 实现Runnable接口后都要重载run()方法,run()方法中的代码就是线程的执行部分。 第6章 Android系统的广播与服务 主要内容 广播消息 1.1 广播概述 1.2 发送广播 1.3 接收广播 1.4 用广播来告知用户登录情况 服务简介 2.1 Service生命周期 2.2 Service使用方式 本地服务 3.1 服务的管理 3.2 多线程服务 3.3 服务的绑定 3.4 在“移动点餐系统”中用服务方式初始化菜单 远程服务 4.1 进程间的通信 4.2 服务的创建与调用 1. 广播消息 1.1 广播概述 Android中的广播和我们传统意义上的广播有很多相似之处。之所以叫广播是因为发送者只负责“说”而不管接受者“听不听”。 其实,广播就是一种单向通知。在Android中发送者和接受者可以是应用程序或者Android系统。 广播消息的内容可以是应用程序的数据信息,也可以是系统的消息,例如网络连接变化、电池电量变化或系统设置变化等。 1.1 广播概述 图6.1 Android广播机制 1.1 广播概述 Android广播消息分为以下三类: 普通广播:完全异步,可以在同一时刻被所有广播接收方接收到,消息传递的效率比较高,但缺点是接收方不能将处理结果传递给下一个接收方,并且无法终止广播的传播。 有序广播:按照接收方声明的优先级别进行,该声明在intent-filter元素的android:priority属性中,数值越大优先级别越高。也可以通过IntentFilter对象的setPriority()方法进行设置。接收方依次接收广播,同时前面的接收方有权结束广播的传播。 粘性广播:发送后就一直存在于系统的消息容器里面,等待对应的接收方去接收处理,如果暂时没有接收方接收处理,则这个广播则一直在消息容器里面处于等待状态。 1. 广播消息 1.2 发送广播 Android中发送广播消息使用的是Intent组件,其步骤是:首先创建一个Intent对象,然后向Intent中添加执行的动作、传递的数据等信息,最后调用相应的发送方法发送Intent对象。 发送广播的方法共三种,分别对应着三种广播消息: sendBroadcast(发送普通广播) sendOrderedBroadcast(发送有序广播) sendStickyBroadcast(发送粘性广播)。 1.2 发送广播 下面为发送一个带有数据的普通广播消息的代码: Intent intent = new Intent(); //创建Intent对象 intent.setAction(“cqut.edu.Broadcast”); //使用包名标识执行动作 intent.putExtra(“参数”, “参数值”); //用键值对的方式传递值 sendBroadcast(intent); //发送广播 发送广播时为了标识Intent的执行动作,必须使用一个全局唯一的字符串,通常使用应用程序包的名称。 1. 广播消息 1.3 接收广播 应用程序想要接收广播,必须先定义一个广播接收器。 广播接
您可能关注的文档
最近下载
- 公路养护工程施工组织设计方案.pdf VIP
- 多囊卵巢综合征(最新指南PPT课件).pptx
- 2025年北京通州区招聘社区工作者和社区专职党务工作者考试笔试试题.pdf VIP
- 健康教育咨询模板.docx VIP
- 高压旋喷桩计算表.xls VIP
- 2025年池州安徽省江南产业集中区建设投资发展(集团)有限公司招聘8名笔试备考试题及答案解析.docx VIP
- 皖2015S209混凝土砌块式排水检查井.docx VIP
- 工匠精神大国工匠.pptx VIP
- 审计学(西南财经大学)中国大学MOOC 慕课 章节测验客观题答案.docx VIP
- 设施规划 教学课件 ppt 作者 周宏明 第2章 设施选址.pptx VIP
原创力文档


文档评论(0)