WEB开发网
开发学院手机开发Android 开发 Android 教程 使用Service 阅读

Android 教程 使用Service

 2010-05-06 16:23:00 来源:WEB开发网   
核心提示:一 什么是Service二 如何使用Service三 Service的生命周期一 什么是ServiceService,看名字就知道跟正常理解的“服务”差不多,Android 教程 使用Service,后台运行,可交互这样的一个东西,这个我自己也还没有用过,等用了以后再跟大伙说说,它跟Activity的级别差不多,但是他

一 什么是Service

二 如何使用Service

三 Service的生命周期

一 什么是Service

Service,看名字就知道跟正常理解的“服务”差不多,后台运行,可交互这样的一个东西。它跟Activity的级别差不多,但是他不能自己运行,需要通过某一个Activity或者其他Context对象来调用, Context.startService() 和 Context.bindService()。

两种启动Service的方式有所不同。这里要说明一下的是如果你在Service的onCreate或者onStart做一些很耗时间的事情,最好在Service里启动一个线程来完成,因为Service是跑在主线程中,会影响到你的UI操作或者阻塞主线程中的其他事情。

什么时候需要Service呢?比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的。

二 如何使用Service

那接下来用代码来说明一下怎么使用Service,这里我们要讲的是Local Service也就是你自己的一个Service, 你也可以操作别的应用程序的service如果它允许你那么去做的话,这就设计到一个比较麻烦的东西interprocess communication (IPC),在不同的进程中通信的机制,这个我自己也还没有用过,等用了以后再跟大伙说说,通常情况下Local的就够用啦。

跟Activity一样首先你要写一个类继承自android.app.Service,在这里我叫他TestService

代码如下:

Java代码

package com.haric.tutorial;

import android.app.Notification;

import android.app.NotificationManager;

import android.app.PendingIntent;

import android.app.Service;

import android.content.Intent;

import android.os.Binder;

import android.os.IBinder;

import android.util.Log;

public class TestService extends Service {

private static final String TAG = “TestService”;

private NotificationManager _nm;

@Override

public IBinder onBind(Intent i) {

Log.e(TAG, “============> TestService.onBind”);

return null;

}

1 2 3 4 5 6  下一页

Tags:Android 教程 使用

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