金星-手机平台应用开发 第八章 服务.pptVIP

金星-手机平台应用开发 第八章 服务.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 服务 服务的创建 服务的生命周期 服务的启动方式 服务通信 ? 学习目标 ? 目录 服务的创建 服务的生命周期 服务的启动方式 ?点击查看本小节知识架构 服务通信 ?点击查看本小节知识架构 本章小结 ? 知识架构 8.3.1 start方式启动服务 bind方式启动服务 8.3.2 8.3 服务的启动方式 返回目录 ? 知识架构 8.4 服务通信 返回目录 8.4.1 本地服务通信和远程服务通信 案例——音乐播放器 8.4.2 案例——远程调用支付宝 8.4.3 8.1 服务的创建 服务(Service)是Android中的四大组件之一,它能够长期在后台运行且不提供用户界面。即使用户切到另一应用程序,服务仍可以在后台运行。 8.1 服务的创建 8.1 服务的创建 服务的创建方式与创建Activity类似,只需要继承Service类,然后在清单文件中注册即可。 1、创建服务 public class MyService extends Service { public IBinder onBind(Intent arg0) { return null; } } 2、在清单文件中配置 application ………… service android:name=cn.itcast.servicetest.MyService/ /application 8.2 服务的生命周期 与其他组件不同的是,Service不能自己主动运行,需要调用相应的方法来启动。 启动服务的方法是Context.startService()和Context.bindService()。使用不同的方法启动服务,服务的生命周期也会不同。 8.2 服务的生命周期 1、startService方式开启服务的生命周期 服务会执行onCreate() ? onStartCommand()方法,服务处于运行状态,直到自身调用stopSelf()方法或者其他组件调用stopService()方法时服务停止,最终被系统销毁。 服务会长期的在后台运行,并且服务的状态与开启者的状态没有关系。 2、bindService方式开启服务的生命周期 服务会执行onCreate() ? onBind()方法,服务处于绑定状态, 客户端通过unbindService()方法关闭连接,解除绑定时,系统将直接销毁服务。 服务与开启者的状态有关,当调用者销毁了,服务也会被销毁。 8.3 服务的启动方式 8.3.1 start方式启动服务 使用startService()方式开启服务的具体代码如下所示: Intent intent = new Intent(this, StartService.class); Context.startService(intent); Context.stopService(intent); 服务也是Android中的四大组件之一,因此需要在清单文件中注册 service android:name = cn.itcast.startservice.MyService/ 当程序使用startService()和stopService()启动、关闭服务时,服务与调用者之间基本不存在太多的关联,也无法与访问者进行通信、数据交互等。如果服务需要与调用者进行方法调用和数据交互时,应该使用bindService()和unbindService()启动、关闭服务。 bindService(Intent service,ServiceConnection conn, int flags) Intent对象用于指定要启动的Service ServiceConnection对象用于监听调用者与Service的连接状态。 flags指定绑定时是否自动创建Service(如果Service还未创建)。 8.3 服务的启动方式 8.3.2 bind方式启动服务 8.4.1 本地服务通信和远程服务通信 。 在Android系统中,服务的通信方式有两种,一种是本地服务通信,一种是远程服务通信。 本地服务通信是指应用程序内部的通信,而远程服务通信是指两个应用程序之间的通信。使用这两种方式进行通信时必须满足一个前提,就是服务必须以绑定方式开启。 8.4 服务通信 8.4.1 本地服务通信和

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档