关闭

为用户服务的Service之基础篇

179人阅读 评论(0) 收藏 举报


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 {

	@Override
	public IBinder onBind(Intent arg0) {
		// TODO Auto-generated method stub
		return null;
	}
//当服务第一次创建时调用该方法
	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		super.onCreate();
	}
//当服务销毁时调用该方法
	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
	}
//当开始服务时调用该方法
	@Override
	public void onStart(Intent intent, int startId) {
		// TODO Auto-generated method stub
		super.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;

    }

}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21622次
    • 积分:325
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:24篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档