用微课学●Android高级开发(唐亮周羽)电子资源电子课件 第三章Service后台服务.pptxVIP

用微课学●Android高级开发(唐亮周羽)电子资源电子课件 第三章Service后台服务.pptx

  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文档。上传文档
查看更多
;;Service服务;Service是Android系统的后台服务组件,适用于开发无界面、长时间运行的应用功能。 Service特点如下: 没有用户界面 不会轻易被Android系统终止 在系统资源恢复后Service也将自动恢复 运行状态 可用于进程间通信;启动方式使用Service 通过调用Context.startService()启动Service,通过调用Context.stopService()或Service.stopSefl()停止Service 绑定方式使用Service 使用Service的组件通过Context.bindService()建立服务链接,通过Context.unbindService()停止服务链接 如果在绑定过程中Service没有启动,Context.bindService()会自动启动Service;onCreate():Service的生命周期开始,完成Service的初始化工作; onStart():活动生命周期开始; onDestroy():Service的生命周期结束,释放Service所有占用的资源;; 系统在创建Service时,会自动调用onCreate() 完成必要的初始化工作; Service没有必要再存在时,系统会自动调用onDestroy(),释放所有占用的资源; 通过Context.startService(Intent)启动Service时,onStart()则会被系统调用; ;注册 AndroidManifest.xml文件中注册 android:name表示的是Service的类名称 与用户建立的Service类名称一致 ;显式启动 Intent中指明Service所在的类,并调用startService(Intent)函数启动Service ;隐式启动 需要隐式开启Service,则可以在注册Service时,声明Intent-filter的action属性 ;为了停止一个正在运行的Service,将启动Service的Intent传递给stopService(Intent)函数即可 serviceIntent就是用来激活Service的Intent对象 ;bindService()绑定Servcie, onCreate()和onBinde()将先后被调用。 unbindService()取消绑定Servcie,onUnbind()将被调用,如果onUnbind()返回true,则表示在调用者绑定新服务时,onRebind()函数将被调用 ;public class MathService extends Service { private final IBinder mBinder = new LocalBinder(); // 继承Binder,LocalBinder是继承Binder的一个内部类 public class LocalBinder extends Binder { /* * 实现了getService()函数,当调用者获取到mBinder后 * ,通过调用getService()即可获取到Service的对象 */ MathService getService() { return MathService.this; } } @Override public IBinder onBind(Intent intent) { return mBinder; } };bindService()方法绑定服务 Intent对象??递给bindService(),声明需要启动的Service Context.BIND_AUTO_CREATE表明只要绑定存在,就自动建立Service;同时也告知Android系统,这个Service的重要程度与调用者相同 ;取消绑定使用unbindService()方法,并将ServiceConnnection对象传递给unbindService()方法。 unbindService()方法调用成功后,系统并不会再次调用onServiceDisconnected()方法 onServiceDisconnected()方法仅在意外断开绑定时才被调用。 ;以启动方式使用Service,startService() 回调onStart()方法,onCreate() 是在Service不存在的时候调用的,如果Service存在,那么startService()将跳过onCreate() 以绑定方式使用Service,bindService() 回调onBind()方法,它在Service和调用者之间建立一个桥梁,当调用者结束时,Service也会结束 ;;

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档