030906_Service Android安卓开发课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
认识Service 在Android系统开发之中,Services是一个重要的组成部分。如果现在某些程序需要中的部分操作是很消耗时间的,那么可以将这些程序定义在Service之中,这样就可以完成程序的后台运行(也可以在不显示界面的形式下运行),即:Services实际上就相当于是一个没有图形界面的Activity程序,而且当用户要执行某些操作需要进行跨进程访问的时候也可以使用Service来完成。 Service的基本组成 Service是一个没有UI界面的操作组件,主要的功能是为Activity程序提供一些必要的支持,例如:手机中的Mp3播放软件,当回到桌面上的时候这些组件依然可以运行,实际上这些就属于Service的功能,在开发时用户只需要继承自android.app.Service类就可以完成Service程序的开发,在Service之中也有自己的生命周期方法。 Service的生命周期控制方法 Activity类中操作Service的方法 范例:定义后台服务 范例:定义用户的Service组件 —— MyServiceUtil.java 范例:定义布局管理器 范例:定义Activity程序,操作Service 配置Service 一个Service程序编写完成之后还需要在项目中的AndroidManifest.xml文件之中进行注册,在application节点下添加如下的代码: service android:name=.MyServiceUtil / 绑定Service 当一个Service启动之后,如果没有出现意外以及明确的调用stopService()方法的话则将会一直驻留在手机的服务之中,如果现在希望被一个Activity启动的Service可以在Activity程序结束后自动结束,则可以将一个Activity和Service进行绑定,在Activity类中专门提供了一个用于绑定Service的bindService()方法,但是在此方法返回的是一个android.content.ServiceConnection接口的参数 ServiceConnection接口定义的方法 IBinder接口 ServiceConnection接口主要的功能是当一个Activity程序与Service建立连接之后,可以通过ServiceConnection接口执行Service连接(或取消)连接的处理操作,在Activity连接到Service程序上之后,会触发Service类中的onBind()方法,在此方法中要返回一个android.os.IBinder接口的对象。 IBinder接口的常量和方法 范例:定义Service类 —— MyService.java 范例:定义布局管理器 —— main.xml 范例:定义Activity程序,操作Service(A) 范例:定义Activity程序,操作Service(B) 范例:定义Activity程序,操作Service(C) 范例:解决but 如果现在没有服务与Activity进行绑定而又调用了解除绑定操作,则会出现错误,所以在解除绑定之前必须要增加一个判断,即:判断一个Activity是否和一个Service绑定在了一起,如果绑定在了一起才可以使用unbindService()方法解除绑定。 一般的做法是定义一个标记性的操作接口,而后在Activity中判断此接口对象是否为null来决定是否绑定了Service,这样说比较抽象,下面通过一个实际的代码来观察,本程序为了方便,只提供了绑定服务与解除绑定两个操作。 范例:定义布局管理器 —— main.xml 范例:定义标记性接口 —— IService 范例:定义服务类 —— MyServiceUtil 范例:定义Activity程序,绑定服务(A) 范例:定义Activity程序,绑定服务(B) Context类中定义的系统服务 范例:剪贴板服务 范例:定义布局管理器 —— main.xml 范例:定义Activity程序,操作剪贴板 范例:取得正在运行的Activity程序信息 ActivityManager Android手机由于采用了多任务的设计,所以可以同时运行多个Activity程序,而用户如果要想取得这些Activity程序的信息,就可以通过“ACTIVITY_SERVICE”服务取得所有运行的程序,但是此时通过super.getSystemService()方法取得的服务对象的类型为“android.app.ActivityManager”。 ActivityManager类的常用方法 ActivityManager类取得任务信息 当使用Acti

文档评论(0)

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

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

1亿VIP精品文档

相关文档