- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Android应用程序开发技术第9章Service服务
服务是一个后台运行的组件,执行长时间运行且不需要用户交互的任务。即使应用被销毁也依然可以工作。章节概述
9.1Service简介9.2系统自带Service9.3Service实现过程9.4本章总结9.5习题9.6上机目录
9.1Service简介9.1.1.Service介绍和作用服务(Service)是Android中实现程序后台运行的解决方案,也是Android应用四大组件之一。它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户打开了另外一个应用程序,服务仍然能够保持正常运行。类似于Activity和其它应用组件,开发人员需要在应用程序配置文件中使用service/service标签声明全部的service。
9.1Service简介9.1.2.Service的状态服务从本质上可分为两种状态。1.Started(启动)当应用程序组件(如Activity)通过startService()方法启动服务时,服务器处于started状态。一旦启动,服务能在后台无限期运行(即使启动它的组件已经销毁)。通常,启动服务执行单个操作并不会向调用者返回结果。例如,它可能通过网络下载或者上传文件。如果操作完成,服务需要停止自身的运行。2.Bound(绑定)当应用程序组件通过bindService()方法绑定到服务时,服务处于bound状态。绑定服务提供客户端-服务器接口,允许组件与服务交互、发送请求、获得结果,甚至使用进程间通信(IPC)跨进程完成这些操作。仅当其它应用程序与之绑定时,绑定服务才运行。多个组件可以一次绑定到一个服务上,当它们都解除绑定时,服务被销毁。
9.1Service简介9.1.3.Service生命周期根据使用方式的不同,Service的生命周期可以分成2条路径,如图9-1所示。图9-1Service的生命周期
9.1Service简介9.1.3.Service生命周期下面详细分析一下这些回调方法。onCreate()当Service被创建时回调。如果Service已经在运行,那么不会回调onCreate()方法。在onCreate()方法中,可以做一些初始化操作。onStartCommand()当有组件调用startService()方法启动Service时回调。在onStartCommand()方法中,可以执行后台任务。由于Service是运行在主线程之中的,所以如果是耗时的任务则需要使用子线程来执行任务。在Service完成任务之后,需要有组件调用stopService()方法来停止Service,或者由Service调用stopSelf()方法来自行停止。onBind()当有组件调用bindService()方法与Service绑定时回调。在onBind()方法中,可以通过返回一个IBinder对象来提供一个接口供客户端与Service进行通信。onUnbind()方法当客户端调用unbindService()方法与Service解除绑定时回调。onDestroy()当Service停止运行将被销毁时回调。当有组件调用startService()方法来启动Service时,Service开始运行,直到有组件调用stopService()方法来停止Service,或者由Service调用stopSelf()方法来自行停止。当有组件调用bindService()方法与Service绑定时,Service开始运行,直到所有的客户端与Service解绑时,Service停止运行。在onDestroy()方法中,应该释放所有的资源,比如子线程、注册的监听器和广播接收器等。
9.1Service简介9.1.1.Service介绍和作用可以用以下代码来测试Service的生命周期。修改布局文件代码如下:1.?xml?version=1.0?encoding=utf-8???2.LinearLayout?xmlns:android=/apk/res/android??3.????android:layout_width=fill_parent??4.????android:layout_height=fill_parent??5.????android:orientation=vertical??6.??7.????TextView????//设置启动服务标题格式??8.????????android:layout_width=wrap_content??9.????????android:layout_height=wrap_cont
您可能关注的文档
- Arduino应用技术课程大纲.docx
- Arduino应用技术智能终端17011702教案首页18-19-2.doc
- Android应用程序开发技术 课件 第3章 Activity和Application.pptx
- Android应用程序开发技术 课件 第2章 Android Studio使用入门.pptx
- Android应用程序开发技术 课件 第4章 UI编程基础.pptx
- Android应用程序开发技术 课件 第5章 UI进阶.pptx
- Android应用程序开发技术 课件 第6章 数据存储.pptx
- Android应用程序开发技术 课件 第7章 Intent与BroadcastReceiver.pptx
- Android应用程序开发技术 课件 第8章 ContentProvider数据共享.pptx
- Android应用程序开发技术 课件 第1章 Android概述.pptx
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
最近下载
- 数系的扩充与复数的概念教学设计.doc VIP
- 结婚函调报告表.docx
- 氢燃料电池用全氟型质子交换膜.pdf VIP
- 人教版数学二年级上册第四单元《表内乘法(一)》单元整体作业设计.docx VIP
- 2.5 跨学科实践:制作隔音房间模型(课件)人教版(2024)物理八年级上册.pptx VIP
- 大学生心理健康教育.pptx VIP
- 高中信息技术 粤教版必修2《信息系统的安全风险防范》(单元教学设计).pdf VIP
- Unit 2 Reading for writing课件 外研版(2024)七年级英语上册.pptx VIP
- 教科版物理八年级上册第六章 质量与密度 大单元整体学历案教案 教学设计附作业设计(基于新课标教学评一致性).docx
- 非自然叙事学_尚必武.pdf
文档评论(0)