为用户服务的Service之基础篇

来源:互联网 发布:歌曲批量下载软件 编辑:程序博客网 时间:2024/05/02 14:40


Service与Activity一样,也有一个从启动到销毁的过程,但Service的这个过程比Activity简单得多,Service从启动到销毁的过程只会经历3个阶段:

(1)创建服务;

(2)开始服务

(3)销毁事物

一个服务实际上是一个继承自android.app.Service类,当服务经历上门3个阶段后,会分别调用Service类中的3个事件方法进行交互,这3个事件方法如下:

public void  onCreate();                                                 //创建服务

public void OnStart(Intent intent,int startId);              //开始服务

public void onDestory();                                               //销毁事物

一个服务只会创建一次,销毁一次,但可以开始多次,因此,onCreate和onDestroy方法只会被调用一次,而onStart方法会被调用多次

 

下面编写一个服务类,具体看一下服务的生命周期由开始到销毁的过程。

 

import android.app.Service;import android.content.Intent;import android.os.IBinder;public class MyService extends Service {@Overridepublic IBinder onBind(Intent arg0) {// TODO Auto-generated method stubreturn null;}//当服务第一次创建时调用该方法@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();}//当服务销毁时调用该方法@Overridepublic void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();}//当开始服务时调用该方法@Overridepublic void onStart(Intent intent, int startId) {// TODO Auto-generated method stubsuper.onStart(intent, startId);}}


接着,在AndroidManifest.xml文件中进行配置。

<service android:enable="true" android:name=".MyService" />

其中android:enable="true"表示MyServie服务处于激活状态,系统不会自动启动该服务,要想启动这个服务,必须显示调用startService方法,反之,停止则显示的调用stopService方法,代码如下:

 

public void onClick(View view){     switch(view.getId())     {             case R.id.btnStartService:                 startService(serviceIntent);                 break;              case R.id.btnStopService:                         stopService(serviceIntent);                         break;    }}