Service简单实例

1. 继承service类,重写方法service的 onBinder() 方法

2.在 Manifest中注册 service,设置过滤的url ( public static final String ACTION = "com.lql.service.ServiceDemo"; //自定义)

3. 启动service   startservice(new Intent(ServiceDemo.ACITION));

<service android:name="com.example.androidtest.ServiceDemo" >
            <intent-filter>
                <action android:name="com.lql.service.ServiceDemo" />
            </intent-filter>
 </service>

4. 总结:service的生命周期

第一次启动:

04-09 21:46:09.637: I/ServiceDemo(9280): onCreate
04-09 21:46:09.637: I/ServiceDemo(9280): onStartCommand
04-09 21:46:09.637: I/ServiceDemo(9280): onStart

第二次启动:

04-09 21:46:49.369: I/ServiceDemo(9413): onStartCommand
04-09 21:46:49.369: I/ServiceDemo(9413): onStart

ServiceDemo.java

public class ServiceDemo extends Service {
	 private static final String TAG = "ServiceDemo" ;
	 public static final String ACTION = "com.lql.service.ServiceDemo";  

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

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		Log.i(TAG, "onCreate");
		super.onCreate();
	}

	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		Log.i(TAG, "onDestroy");
		super.onDestroy();
	}

	@Override
	@Deprecated
	public void onStart(Intent intent, int startId) {
		// TODO Auto-generated method stub
		Log.i(TAG, "onStart");
		super.onStart(intent, startId);
	}

	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {
		// TODO Auto-generated method stub
		Log.i(TAG, "onStartCommand");
		return super.onStartCommand(intent, flags, startId);
	}

}

StartService.java

public class StartService extends Activity {

	Button start_service;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_start_service);
		start_service = (Button) findViewById(R.id.start_service);
		start_service.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				startService(new Intent(ServiceDemo.ACTION));
			}
		});
	}

}

start_service_activity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".StartService" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <Button
        android:id="@+id/start_service"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="110dp"
        android:text="开启服务" />

</RelativeLayout>
时间: 2024-10-12 19:58:49

Service简单实例的相关文章

Server 2005之Integration Service简单实例

SSIS(SQL Server Integration Service)是在SQL Server2000的DTS的基础上做的一个非常大的改进的新工具.采用了数据流和控制流分离,设计和部署分离的架构设计,引入了更多新的转换,终于向着专业级的ETL工具迈了一大部.   由于相对DTS的改进非常大,开发和使用SSIS也就显得比DTS略显复杂.但是对于大型项目,实际上SSIS比DTS要简单的多. 本文通过一个最简单的例子,演示了开发和部署一个SSIS Package的整个过程. 1.开发   SQL S

cxf方式实现WebService的简单实例

cxf实现WebService的发布和调用简单实例. 1.准备工作:下载cxf  http://cxf.apache.org/download.html lib文件下的WHICH_JARS文件列出了各用途下所需的jar包. bin目录下存放运行文件. 2.服务端:先新建接口和相关的实现类.发布的服务是接口的方式. 代码如下 1 package com.liujf; 2 3 import javax.jws.WebParam; 4 import javax.jws.WebService; 5 6

C# 一个WCF简单实例

C# 一个WCF简单实例 作者: 字体:[增加 减小] 类型:转载 时间:2012-10-27我要评论 以订票为例简单应用wcf程序,需要的朋友可以参考下 WCF实例(带步骤) 复制代码代码如下: <xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 本篇转自百度文档,自己试过,确实可以用. 以订票为例简单应用wcf 新建一个wcf服务应用程序 在IServi

SpringMVC笔记——SSM框架搭建简单实例

落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发的框架,对于新手来说也是比较容易学习入门的.虽说容易,但在框架搭建过程中仍然遇到了许多问题,因此用实例记录下来吧. 实例 第一步——导包 Spring框架包及其依赖包 MyBatis框架包及其依赖包 MyBatis-EhCache架包 C3P0架包 MySql数据库驱动包 项目架包如下: 项目结构如

AXIS2+Myeclipse实现WebService数据库存储简单实例

AXIS2+Myeclipse实现WebService数据库存储简单实例 接了个简单的毕业设计.需要WebService实现前台显示后台数据库存储,本人菜鸟,想了下,决定服务端存放有数据库连接的方法,客户端调用服务端提供的方法,实现与数据库的连接. 一.准备工作: 1.下载AXIS2框架 这里使用的版本是axis2-1.7.2,下载地址:http://axis.apache.org/axis2/java/core/download.cgi官网. (1)Binary distribution ax

JAVA RMI远程方法调用简单实例[转]

RMI的概念 RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制.使用这种机制,某一台计算机上的对象可以调用另外 一台计算机上的对象来获取远程数据.RMI是Enterprise JavaBeans的支柱,是建立分布式Java应用程序的方便途径.在过去,TCP/IP套接字通讯是远程通讯的主要手段,但此开发方式没有使用面向对 象的方式实现开发,在开发一个如此的通讯机制时往往令程序员感觉到乏味,对此RPC(Remote

主题:Java WebService 简单实例

链接地址:主题:Java WebService 简单实例    http://www.iteye.com/topic/1135747 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作. 一.准备工作(以下为本实例使用工具) 1.MyEclipse10.7.1 2.JDK 1.6.0_22 二.创建服务端 1.创建[Web Service Project],命名为[TheService].   2.创建[Class]类,命名为[ServiceHello],位于[com.

【MySQL】存储过程、游标、循环简单实例

有时候仅凭 sql 语句可能达不到想要的数据操作目的,有可能需要写一些方法体,通过循环判断等操作最终达到目的.那么在数据库里实现这种方法体就需要存储过程了,个人觉得一个带注释的简单实例可以简单粗暴地解决大部分问题,当然要深入学习了解的话还是要看教程文档了,话不多说,上码: [sql] view plain copy create procedure my_procedure() -- 创建存储过程 begin -- 开始存储过程 declare my_id varchar(32); -- 自定义

session 对象的简单实例

一个session对象的简单实例: 1.登录界面:使用简单的html表单提交界面. <%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht