作为android的四大组件之一,服务也少不了很多重要的知识点。下面我们从最基本的开始学习。

1.1服务的创建 首先创建一个ServiceTest类继承Service。我们会重写onCreate(),onStartCommand()和onDestory()三个方法,他们是每个服务中最常用到的方法。其中onCreate方法会在服务创建的时候调用,onStartCommand方法会在每次服务启动的时候调用,onDestory方法会在服务销毁的时候调用。通常情况下,如果我们希望服务一旦启动就立刻去执行某个动作,就可以将逻辑写在onStartCommand方法里。而服务销毁的时候,我们又应该在onDestory()方法中去回收那些不再使用的资源。另外需要注意,每一个服务都需要在androidManifest.xml文件中注册才能生效。这是android四大组件的特点,不知道大家注意到没有。

1.2服务的启动和停止

定义好服务之后,接下来就应该考虑如何去启动和停止服务。启动和停止服务的方法当然不会陌生。主要借助Intent来实现的。

启动服务代码:

Intent startIntent=new Intent(this,ServiceTest.class);

startService(startIntent);      停止服务代码:

Intent stopIntent=new Intent(this,ServiceTest.class);

stopService(stopIntent);

虽然学会启动服务和停止服务的方法了,但是不知道你心里有没有疑惑呢?onCreate()和onStartCommand()到底有什么区别呢?

其实 onCreate方法是在服务第一次创建的时候调用的,eronstartCommand()方法则在每次服务启动的时候调用的,第一次点击启动的时候,服务还未创建过,所以两个方法都会执行。之后多次启动服务你就会发现只有onStartCommand()中的方法可以得到执行了。

android Service服务简介(一)的更多相关文章

  1. Android Service 服务(三)—— bindService与remoteService

    (转自:http://blog.csdn.net/ithomer/article/details/7366396)   一.bindService简介 bindService是绑定Service服务, ...

  2. Android Service 服务

    一. Service简介 Service是android 系统中的四大组件之一(Activity.Service.BroadcastReceiver.ContentProvider),它跟Activi ...

  3. Android Service 服务(一)—— Service .

    http://blog.csdn.net/ithomer/article/details/7364024 一. Service简介 Service是android 系统中的四大组件之一(Activit ...

  4. Android Service 服务(二)—— BroadcastReceiver

    (转自:http://blog.csdn.net/ithomer/article/details/7365147) 一. BroadcastReceiver简介 BroadcastReceiver,用 ...

  5. [Android] Service服务详解以及如何使service服务不被杀死

    排版上的细节有些不好看,主要是我用的MarkDown编辑器预览和这里的不一样,在那个上面的样式很舒服.这里要改的地方太多就不想改了,将就看吧.下次写的时候注意.还有看到错误给我提啊. 本文链接:htt ...

  6. android service服务的学习

    1.Service简单概述   Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件.服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即 ...

  7. Android Service服务

    Service是Android系统中提供的四大组件之一.它是运行在后台的一种服务,一般声明周期较长,不直接与用户进行交互.    服务不能自己运行,需要通过调用Context.startService ...

  8. Android service 服务的应用之电话监听器以及短信监听器

    首先建立一个项目工程文件,如下图所示:

  9. Android Service服务的生命周期

    与activity类似,服务也存在生命周期回调方法,你可以实现这些方法来监控服务的状态变化,并在适当的时机执行一些操作. 以下代码提纲展示了服务的每个生命周期回调方法: public class Ex ...

随机推荐

  1. sass文件处理

    sass注释方式有两种: 1.标准的css注释/**/: 2.//双斜杠形式的单行注释(不会被转译): 标准的css注释 双斜杆单行注释 sass文件后缀名有两种: 1.后缀名为sass,不适用用大括 ...

  2. GitHub网页端和客户端操作

    参见GitHub上的repository中的moreLove.tata.tata2 moreLove 在网页版GitHub上创建的空项目然后填充的tata 在windows客户端创建的空项目然后填充的 ...

  3. SELECT s.* FROM person p INNER JOIN shirt s ON s.owner = p.id WHERE p.name LIKE 'Lilliana%' AND s.color <> 'white';

    SELECT s.* FROM person p INNER JOIN shirt sON s.owner = p.idWHERE p.name LIKE 'Lilliana%'AND s.color ...

  4. 简谈 Java 中的泛型通配符

    很好的一篇文章https://zhuanlan.zhihu.com/p/26681625

  5. 网络威胁防护,Azure 靠的是它?

    在当今数字化转型的浪潮中,越来越多的企业希望转型于云.使用云能帮助企业提高工作效率.降低 IT 成本.增强竞争优势,有效推动企业的业务发展.但是,在向云迁移的过程中,基于云的数据中心更有可能被攻击,所 ...

  6. asyncio标准库3 HTTP client example

    import aiohttp import asyncio import async_timeout async def fetch(session, url): async with async_t ...

  7. c++链表实现学生成绩管理系统(简易版)

    #include<iostream> using namespace std; typedef struct student{ int id;//学号 string sex; string ...

  8. ul自适应li问题

    内容提要: li浮动时ul高度为0,解决ul自适应高度的几种方法 在网页设计中,常常需要对li标签做浮动效果,但是在不同浏览器中会遇到兼容性问题,比如IE中会出现ul高度为0的情况,是效果不能达到预期 ...

  9. std::string::find_last_not_of

    public member function <string> std::string::find_last_not_of C++98 C++11 string (1) size_t fi ...

  10. 关于自学C语言这件事

    说在前面 为什么会写下这篇文章?本人也并不是什么大神,但是也自学了很久,从一个小白开始自学,期间走过很多弯路,掉过许多坑.一路跌跌撞撞下来,算是有了点收获,有了点感想,将它们记录下来,希望能帮助新入坑 ...