Android应用程序开发技术 课件 第9章 Service服务.pptx

Android应用程序开发技术 课件 第9章 Service服务.pptx

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档