码迷,mamicode.com
首页 > 移动开发 > 详细

淘宝(阿里百川)手机客户端开发日记第六篇 Service详解(二)

时间:2015-07-01 11:49:34      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

DEMO1:当我们点击启动服务时和点击停止服务的时候,观察服务的运行状态,布局由于简单,只是两个普通的Button按钮,在此我只上截图。

技术分享

 

java代码部分

第一步:我们需要实现一个服务类,继承自service,并实现其中的一些方法:这里我在每个方法里,打印出调用方法的名称。

package com.example.service;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
import android.widget.Button;

public class MyService extends Service {

	public static final String TAG = "MYSERVICE";
	
	@Override
	public IBinder onBind(Intent arg0) {
		Log.i(TAG, "MyService-->onBind");
		return null;
	}

	@Override
	public void onCreate() {
		Log.i(TAG, "MyService-->onCreate");
		super.onCreate();
	}

	@Override
	public void onDestroy() {
		Log.i(TAG, "MyService-->onDestroy");
		super.onDestroy();
	}

	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {
		Log.i(TAG, "MyService-->onStartCommand");
		return super.onStartCommand(intent, flags, startId);
	}
	
	

}

  

第二步:activity 的主页面代码

package com.example.servicedemo;

import com.example.service.MyService;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {
	private Button btnStartSrv,btnStopSrv;
	
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		btnStartSrv = (Button)findViewById(R.id.btnStartSrv);
		btnStopSrv = (Button)findViewById(R.id.btnStopSrv);
		
		btnStartSrv.setOnClickListener(this);
		btnStopSrv.setOnClickListener(this);
	}


	@Override
	public void onClick(View view) {
		Intent service = new Intent(this, MyService.class);
		switch(view.getId())
		{
			case R.id.btnStartSrv:
			{
				//启动服务
				startService(service);
				break;
			}
			case R.id.btnStopSrv:
			{
                  //停止服务 stopService(service); break; } default: break; } } }

  

点击启动按钮,

技术分享

onCreate,onStartCommand 方法依次被调用。

点击关闭服务按钮,

技术分享

onDestroy  方法被调用。

如果当服务运行时,我们继续点击启动服务的时候,我们会发现,只有onStartCommand方法被调用,onCreate没有。

技术分享

这说明了当服务在启动以后,如果在想启动该服务,service不会重新创建,只会调用onStartCommand.

下一节,我们将对service 做一个简单的实用例子。

转载请注明http://www.cnblogs.com/yushengbo,否则将追究版权责任!

 

淘宝(阿里百川)手机客户端开发日记第六篇 Service详解(二)

标签:

原文地址:http://www.cnblogs.com/yushengbo/p/4612727.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!