WEB开发网
开发学院手机开发Android 开发 Android 编写 Service 入门 阅读

Android 编写 Service 入门

 2010-04-09 06:15:00 来源:WEB开发网   
核心提示:android SDK提供了Service,用于类似*nix守护进程或者windows的服务,Android 编写 Service 入门,Service有两种类型:本地服务(Local Service):用于应用程序内部远程服务(Remote Sercie):用于android系统内部的应用程序之间前者用于实现应用程

android SDK提供了Service,用于类似*nix守护进程或者windows的服务。

Service有两种类型:

本地服务(Local Service):用于应用程序内部

远程服务(Remote Sercie):用于android系统内部的应用程序之间

前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好。

后者可被其他应用程序复用,比如天气预报服务,其他应用程序不需要再写这样的服务,调用已有的即可。

编写不需和Activity交互的本地服务示例

本地服务编写比较简单。首先,要创建一个Service类,该类继承android的Service类。这里写了一个计数服务的类,每秒钟为计数器加一。在服务类的内部,还创建了一个线程,用于实现后台执行上述业务逻辑。

package com.easymorse;

import android.app.Service;

import android.content.Intent;

import android.os.IBinder;

import android.util.Log;

public class CountService extends Service {

private boolean threadDisable;

private int count;

@Override

public IBinder onBind(Intent intent) {

return null;

}

@Override

public void onCreate() {

super.onCreate();

new Thread(new Runnable() {

@Override

public void run() {

while (!threadDisable) {

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

}

count++;

Log.v("CountService", "Count is " + count);

}

}

}).start();

}

@Override

public void onDestroy() {

super.onDestroy();

this.threadDisable = true;

Log.v("CountService", "on destroy");

}

public int getCount() {

return count;

}

}

需要将该服务注册到配置文件AndroidManifest.xml中,否则无法找到:

1 2 3 4 5 6  下一页

Tags:Android 编写 Service

编辑录入:coldstar [复制链接] [打 印]
赞助商链接