Android之Service

 

Service是Android系统中的四大组件之一,它与Activity不同,它是不能与用户交互的。它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序。
        1.Android中的服务没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。服务的开发比较简单,如下:
                                  第一步:继承Service类
                                             public class MyService extends Service { }
                                  第二步:在AndroidManifest.xml文件中的<application>节点里对服务进行配置:
                                            <service android:name=".MyService" />
服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都可以启动Service
    2.Service与Activity一样,也有一个从启动到销毁的过程,但Service的这个过程比Activity简单得多。Service启动到销毁的过程只会经历如下3个阶段: 
                              创建服务      public void onCreate();

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

                              销毁服务       public void onDestroy();

 

 

MyService.java


package com.example.service;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

public class MyService extends Service {

	@Override
	public IBinder onBind(Intent intent) {
		// TODO Auto-generated method stub
		return null;
		
	}

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		System.out.println("###onCreate###");
	}

	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		System.out.println("###onDestroy###");
	}

	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {
		// TODO Auto-generated method stub
		System.out.println("###onStartCommand###");
		return Service.START_CONTINUATION_MASK;  //继续执行
	}

}


 

 

MainActivity.java


package com.example.service;

import android.os.Bundle;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.Intent;

import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

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

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			MainActivity.this.startService(new Intent(MainActivity.this,MyService.class));
		}

		private  class StoptOnClickListenerImpl implements OnClickListener{

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				MainActivity.this.startService(new Intent(MainActivity.this,MyService.class));
			}
			
		}
		
	}

}


注意不要忘了AndroidManifest.xml


 

阅读更多
个人分类: Android
想对作者说点什么? 我来说一句

android开机启动service

2010年09月17日 42KB 下载

android Service

2011年04月23日 197KB 下载

android intent service 实例

2012年01月01日 365KB 下载

Android 官方SDK文档 Service

2011年03月17日 377KB 下载

Android Service实例

2012年05月17日 143KB 下载

android开机自动启动service例子

2010年12月24日 36KB 下载

android service 学习笔记(上)

2011年05月24日 322KB 下载

servicedemo

2012年09月04日 44KB 下载

BindService_Demo

2013年08月17日 1.27MB 下载

Service android

2013年10月17日 763KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭