Android Service详解(一)

Service 是 Android 系统提供的四种组件之一它的地位和Activity是并列的只不过没有 Activity 的使用频率高。Service是运行在后台的一种服务程序一般很少和用户交互,因此没有可视化界面。

定义一个Service类比较简单,只要继承Service类实现其生命周期中的方法就可以了。一个定义好的Service必须在 AndroidManifest.xml 配置文件中通过<smice>元素声明才能使用。

Service 有自己的生命周期,我们可以调用startService()启动一个 Service 或者使用 bindService()方法来绑定1个存在的Service.还可以通过RPC(远程进程调用)机制来实现不同进程间Service 的调用。

创建一个Service类比较简单,只要定义一个类继承Service.覆盖该类中相应的方法就可以了。Service中定义了一系列和自身声明周期相关的方法,这些方法有:

1、onBind(Intent intent): 是必须实现的一个方法,返回一个绑定的接口给Service。

2、onCreate():当Service 第一次被创建时,由系统调用。

3、onStart (Intent intent,int startld): 当通过startService()方法启动Service时,该方法被调用。

4、onDestroy():  当Service不再使用,系统调用该方法。

Service使用startService(Intent intent)方法,和启动Activity非常相似,也是传递一个Intent。当调用startService()方法时,被调用的Service会调用它的onCreate()方法(如果该Service还未创建),接着调用onStart()方法。一旦Service启动后将一直运行直到调用了stopSelf()或者stopService()

时间: 2024-10-13 21:22:11

Android Service详解(一)的相关文章

android Service详解

Android Service完全解析,关于服务你所需知道的一切(上) http://blog.csdn.net/guolin_blog/article/details/11952435 android笔记--处理started service的多次启动请求 http://coolxing.iteye.com/blog/1284476

Android Service详解(三) AIDL使用解析

aidl是 Android Interface definition language的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口. 通过aidl我们可以完成从服务端到客户端的数据通信 在aidl中我们可以声明任意多个方法,除了内建类型(int boolean等)都需要导入,规则如下: 1.Java 原始类型不需要导入. 2.String.Lsit.Map 和 CharSequence 不需要导入. 创建aidl文件,New->file->文件名

Android Service详解(二)

Service中有四个重要函数:     public IBinder onBind(Intent arg0):    //必须实现,返回接口给Service     public void onCreate():                //Service创建时调用     public void onStart(Intent intent,int startId)://通过startService()会调用     public void onDestroy():           

Android 四大组件之Service详解

                   Android四大组件之Service详解    来这实习已经10多天了,今天整理整理学习时的Android笔记.正所谓好记性不如烂笔头,今天来说说service组件. service可以在和多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的. Service是在一段不定的时间运行在后台,不和用户交互应用组件.每个

[gitbook] Android框架分析系列之Android Binder详解

请支持作者原创: https://mr-cao.gitbooks.io/android/content/android-binder.html Android Binder详解 Table of Contents 1. binder简介 2. binder的实现 2.1. IBinder类简介 2.2. IInterface类简介 2.3. BpBinder和BBinder简介 2.4. ProcessState和IPCThreadState简介 2.5. ServiceManager简介 2.

android动画详解三 动画API概述

· 属性动画与view动画的不同之处 view动画系统提供了仅动画View 对象的能力,所以如果你想动画非View 对象,你就要自己实现代码. view动画系统实际上还被强制仅能对 View 的少数属性进行动画,比如缩放和旋转,而不能对背景色进行. view动画的另一个坏处是它仅修改View的绘制位置,而不是View的实际位置.例如,如果你动画一个移动穿越屏幕,button的绘制位置是正确的,但实际你可以点击它的位置却没有变,所以你必须去实现你自己的逻辑来处理它. 使用属性动画系统时,这个限制被

Android -- Service绑定解绑和aidl

Service是安卓四大组件之一,先前讲到了Service的生命周期,以及非绑定类型的生命周期的例子,这次来分享一下绑定形式的. 应用组件(客户端)可以调用bindService()绑定到一个service.Android系统之后调用service的onBind()方法,它返回一个用来与service交互的IBinder. 绑定是异步的,bindService()会立即返回,它不会返回IBinder给客户端.要接收IBinder,客户端必须创建一个ServiceConnection的实例并传给b

android矩阵详解

Matrix,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放.平移.旋转等操作. 在Android里面,Matrix由9个float值构成,是一个3*3的矩阵.最好记住.如下图: 解释一下,上面的sinX和cosX,表示旋转角度的cos值和sin值,注意,旋转角度是按顺时针方向计算的. translateX和translateY表示x和y的平移量.scale是缩放的比例,1是不变,2是表示缩放1/2,这样子. 在android.graphics.Matrix中有对应旋转的函

Android ProgressBar详解以及自定义

版本:1.0 日期:2014.5.16 版权:© 2014 kince 转载注明出处 这一次主要说一下Android下的进度条,为什么是它呢,因为近期被其各种美轮美奂的设计所倾倒,计划逐渐去实现.另外一个因素也是它也是为数不多的直接继承于View类的控件,从中可以学习到一些自定义控件的知识.下面列举了一些个人觉得还算漂亮的进度条,仅供参考. 是不是很漂亮,其实就像上面图形展示的那样,进度条大体上无非就是这几种形式.这样一来肯定是需要自定义了,所以方向有两个:要么继承于系统的ProgressBar