`
444878909
  • 浏览: 639498 次
文章分类
社区版块
存档分类
最新评论

Service基础知识点

 
阅读更多

1、Activity:

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.view.View;

public class DemoActivity extends Activity {
    /** Called when the activity is first created. */
	private Intent intent ;
	private MyServiceConnection conn;
	private IService ibinder;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        intent = new Intent(this,MyService.class);
        conn = new MyServiceConnection();
    }
    
    /**
     * 希望一个服务一直存在,并且能够调用服务里面的方法。
     * 启动服务
     * 先通过startService()的方式来启动服务,再通过onBind()的方式去绑定服务。
     * 
     * onCreate() --> onStart() -->onBind()
     * 
     * 
     * 停止服务:
     * 1: 先unbindService()来解绑服务,再通过stopService()来停止服务
     * onUnbind() ---> onDestory()
     * 
     * 2:先stopService()来停止服务,再通过unbindService()来解绑服务
     * 
     * onUnbind() ---> onDestory()
     * 
     * 
     * 通过startService()方式启动的服务,必须通过调用stopService()才能停止服务。
     * 如果服务还有绑定对象,那么一个服务是不会被停止的。
     * 
     * 
     * 怎么去调用服务里面方法。1 必须通过bindService()才能和服务进行通讯。打开了一个ServiceConnection连接。服务给我们返回了一个IBinder对象
     */
    public void startservice(View v){
    	startService(intent);
    }
    
    public void stopservice(View v){
    	stopService(intent);
    }
    
    
    /**
     * 一个访问者只能和服务绑定一次,多次绑定那么服务里面的onBind()方法不会多次被调用
     */
    public void bindservice(View v){
    	bindService(intent, conn, BIND_AUTO_CREATE);
    }
    
    /**
     * 一旦访问者和服务断开了连接,如果再次解绑服务,会出现异常
     */
    public void unbindservice(View v){
    	unbindService(conn);
    }
    
    
    private final class MyServiceConnection implements ServiceConnection{

		public void onServiceConnected(ComponentName name, IBinder service) {
			// TODO Auto-generated method stub
			ibinder = (IService) service;
		}

		public void onServiceDisconnected(ComponentName name) {
			// TODO Auto-generated method stub
			
		}
    	
    }
    
    
    public void call(View v){
    	ibinder.invoke();
    }
}


2、MyService

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

public class MyService extends Service {

	private IBinder ibinder = new MyBinder();
	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		super.onCreate();
		Log.i("i", " onCreate()");
	}
	
	@Override
	public void onStart(Intent intent, int startId) {
		// TODO Auto-generated method stub
		super.onStart(intent, startId);
		Log.i("i", " onStart()");
	}
	
	
	@Override
	public IBinder onBind(Intent intent) {
		// TODO Auto-generated method stub
		Log.i("i", " onBind()");
		return ibinder;
	}
	
	@Override
	public boolean onUnbind(Intent intent) {
		// TODO Auto-generated method stub
		Log.i("i", " onUnbind()");
		return super.onUnbind(intent);
	}
	

	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		Log.i("i", " onDestroy()");
	}
	
	private final class MyBinder extends Binder implements IService{

		public void invoke() {
			// TODO Auto-generated method stub
			callme();
		}
		
	}
	
	private void callme(){
		Log.i("i", "服务里面的方式被调用了");
	}
}


3、IService

public interface IService {

	public void invoke();
}



4、最后别忘了在AndroidManifest.xml中注册上Service


分享到:
评论

相关推荐

    数据库基础知识-SQLService.7z

    1. SQL 常用对象整理;2.SQLSERVER2005/2008 的新语法操作;3.SQL 查询的技巧,行转列,列装行;4.存储过程,函数,触发器,游标的整理...7.BI要复习的知识点如下;8.SQLServer的调优工具和性能优化工具及执行计划详解

    《天翼云》应知应会认证知识点

    天翼云认证应知应会重点知识点串讲,天翼云应知应会认证核心知识点。1、云计算的概念、发展和原理(必修) 必备掌握知识点: (1)美国国家标准与技术研究所(NIST)对云计算的定义:云计算是一种模型,它可以实现 ...

    Kubernetes知识点总结.pptx

    将k8s的知识点详细的总结了一下,可轻松入手,下面是目录 kubenetes前世今生、 kubenetes组件、kubenetes-pod概念、kubenetes网络通讯方式、 kubenetes资源清单 kubenetes Service、kubenetes 存储

    服务计算教程service computing

    本课程面对这一需求,涵盖了服务计算方向的主要知识点,主要内容包括服务计算概要、面向服务的体系结构(方法学)、服务计算技术(技术观)、Web服务基础(实现式)、实时服务计算(航空航天特色)和服务计算的基础...

    最新系统分析师复习资料-知识点分类总结(PDF)

    系分各知识点总结精炼,共63页 1 开发技术:语言与平台 2 Web Service相关技术 3 软件工程、软件架构及软件体系结构 4.数据库测试数据自动生成工具 5 数据库、数据仓库、数据挖掘 6 企业应用集成 7 网格技术 8 信息...

    《XML Web Service开发》报告

    通过本实习,可以较系统地学习和巩固.Net Framework环境及Web Service的开发,结合设计项目,将理论教学中所涉及的知识点贯穿起来,使学生在以下方面得到进一步提高: 1、进一步巩固、加深所学专业课程《XML Web ...

    Linux知识点小结

    下面我们以CentOS 6作为基础,谈一谈我对Linux的基本需求。 1.1 最小化安装 CentOS有一个minimal版本,相对于标准版去掉了很多Service,比如Network Manger,安装最小版本以后的网络配置是需要admin进行全手工配置...

    Websphere Server 平台的J2EE实例开发指南 光盘part1

    正文讲述的所有内容,基本上都有可运行的代码演示,这有利于读者尽快地掌握知识要点。 本书适合一定Java基础的读者阅读,既可作为在校学生、中高级技术开发工程师和其他IT技术人员的参考书,也可作为大专院校和培训...

    管家婆记账软件.rar

    本项目为JAVAEE基础班综合项目,包含了若干个知识点,达到将基础班所学知识综合使用,提高了我们对项目的理解与知识点的运用。 掌握View层、Web层、Service层、Dao层等之间的方法相互调用操作. 掌握dbutils操作...

    andriod的一个桌面Widget 一个MP3播放器

    涉及到了,一个基本的widget程序的大部分知识点,包括widget和service如何交换数据,service如何利用RemoteView来控制widget上的组件更新。 网上查了不少资料,才写了一个Demo,欢迎下载哈。。。

    32个Java面试必考点.txt

    Java 面试基础考察点:从面试中经常考察的 Java 基础核心知识点讲起,帮你系统化梳理 Java 知识体系,练好基本功,是面试前必须要牢牢掌握的模块。 Java 应用考察点:将围绕常用工具集、常用框架、缓存、队列、...

    HCIE-Cloud培训教材V2.0

    2. 云数据中心中运维的一些基本知识,并简单 介绍了云数据中心运维的工作内容 3. 迁移的背景, 概述,评估,方案的设计与实施以及最后的调优与验收五大 方面阐述迁移实施的基本流程。4. 掌握云计算的基础故障处理 ...

    Websphere Server 平台的J2EE实例开发指南 光盘part2

    正文讲述的所有内容,基本上都有可运行的代码演示,这有利于读者尽快地掌握知识要点。 本书适合一定Java基础的读者阅读,既可作为在校学生、中高级技术开发工程师和其他IT技术人员的参考书,也可作为大专院校和培训...

    cxf web service

    本教程将采取从简单到复杂,知识点和实际代码相结合的方式。先讲述一些简单的概念和代码,使大家先对 CXF 建立起直观的印象,并且能够写出自己的应用程序。然后再介绍 CXF 的类与 Spring 2.0 的简单整合,并且讲述...

    android知识大总结【邯院】

    JAVA基础知识点总结.doc 第1章 Java程序设计概述 第2章 Java语言的开发环境 第3章 Java程序的基本结构 第4章 对象和类 第5章 继承和多态 第6章 泛型程序设计 第7章 接口和内部类 第8章 异常处理 第9章 反射,代理,...

    JBuilder/WebLogic平台的J2EE实例开发 光盘part1

    本书讲述的所有内容,大部分都配有可运行的代码演示,这有利于读者尽快地掌握知识要点。 本书适合有一定Java基础的读者阅读,可作为在校学生、中高级技术开发工程师和其他IT技术人员的参考书,也可作为大专院校和...

    sharepoint2010 Beta安装步骤

    这一系列博客将为您详细解说这些要点。 新的服务架构和服务应用 SharePoint 2010引人注目的一点是服务架构的整体改变。以前的共享服务Shared Service Provider不复存在,取而代之的是独立的Shared Service ...

    Android这四个你不可不知的知识点,你都了解多少?

    那些你不一定知道的Android知识N系列… Android的四大组件 Activity (活动) Service (服务) Content provider(内容提供器) BroadCast Recevicer(广播) Activity (活动) 体现: 你所看到APP里每个单独的...

    asp.net知识库

    事务隔离性的一些基础知识 在组件之间实现事务和异步提交事务(NET2.0) 其它 在.NET访问MySql数据库时的几点经验! 自动代码生成器 关于能自定义格式的、支持多语言的、支持多数据库的代码生成器的想法 发布Oracle...

Global site tag (gtag.js) - Google Analytics