下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Android四大组件之一——Service

作者:课课家教育     来源: http://www.kokojia.com点击数:995发布时间: 2017-09-30 15:00:28

标签: 开发工具Android移动开发

  Service中文翻译为“服务”二字,在Android系统中,它是提供的四大组件之一,虽然没有Activity使用的频率这么高,但是在应用程序中与Activity同等重要,它是运行在后台的一种服务程序,一般生命周期较长,不直接与用户进行交互,没有可视化的界面显示,最典型的例子就是用手机听音乐,当你退出音乐播放器的界面的时候音乐却在继续播放着,这就是后台运行。

  Service是不能自己启动运行的,需要通过Activity或者其他的Context对象来到用才能运行,启动服务的方式是Context.startService()和Context.bindService()。这两种方式在启动过程和生命周期方面是有区别的,下面小编分别用两种方式举同一个例子让小伙伴们在脑海中清晰的区别出来。

  1、注册声明

  首先需要在AndroidMainfest.XML文件中注册声明我们新建的Service,只需要在application标签内添加该Service即可。

  2、实现Service

  然后在src目录中新建一个类继承Service类即可。在Service中有一系列与其生命周期相关的方法。

Android四大组件之一——Service_开发工具_Android_移动开发_课课家

  AbstractIbinderonBind(Intentintent):必须实现的方法,返回一个绑定的借口给Service。

  VoidonCreate():当Service第一次被创建时,调用该方法。

  IntonStartCommand(Intentintent,intflags,intstartId):当通过startService()方法启动Service时,调用该方法。

  VoidonDestroy():当Service结束不再使用时,调用该方法。

  BooleanonUnbind(Intentintent):当通过bindService()方法启动Service,取消绑定时,调用该方法。

  3、状态通知

  在对Activity的状态查看时,我们使用了调试打印的方法,这样只能在开发工具中查看,不能给予用户恰当的提示。接下来,我们事先在状态通知栏中给出提示消息:

  (1)获得通知栏管理器

  NotificationManagermNM=(NotificationManager)getSystemService

  (NOTIFICATION_SERVICE);

  (2)创建通知Notification

  构造一个通知栏提示,同时通过震动、声音等给用户明显的提示:

  Notification.defaults(=Notification.DEFAULT_SOUND);//添加声音

  Notification.defaults(=Notification.DEFAULT_VIBRATE);//添加震动

  4、Service实现

  为了让小伙伴们更好的理解如何使用Service,小编举例子把整个Service具体的代码付之如下,让整个说明更加的生动形象。

Service实现

  在界面中,Service不能自己启动,其必须通过创建一个Activity来控制Service的启动与停止,在使用Activity中,使用startService方式启动服务直接调用方法即可,通过参数Serivice从当前上下文Context跳转到需要开启服务的Intent中。停止或结束服务的直接调用方法是stopService,其中的参数name是需要停止的服务的Intent。当然这只是小编的一个简单的事例,实际操作中必定需要添加更多的功能去满足需求的需要而去针对更多的功能,希望小伙伴们可抽空的时候多练习练习,文字再多不如自己敲代码,只有实践才能发现操作中所可能出现的问题,才能去解决,才能让自己更快的进步,遇到问题是正常的事情,没有问题才是最严重的问题!

  小编结语:

  这就是Service,Android的四大组件之一,是后台的一种服务程序,每个android用户都会得到这个功能的体验,所以对于一个android开发人员而言,一个这样的后台服务程序是多么重要且必要的开发。希望小编在这的苦口婆心可以帮助到android移动开发路上的小伙伴们!

赞(24)
踩(1)
分享到:
华为认证网络工程师 HCIE直播课视频教程