WEB开发网
开发学院手机开发Android 开发 Android 开发教程之 Service 详解 阅读

Android 开发教程之 Service 详解

 2010-02-22 16:14:00 来源:WEB开发网   
核心提示:本节内容涉及到一 什么是Service二 如何使用Service三 Service的生命周期一 什么是ServiceService,看名字就知道跟正常理解的“服务”差不多,Android 开发教程之 Service 详解,后台运行,可交互这样的一个东西,这个我自己也还没有用过,等用了以后再跟大伙说说,它跟Activit

本节内容涉及到

一 什么是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代码 复制代码

1. package com.haric.tutorial;

2.

3. import android.app.Notification;

4. import android.app.NotificationManager;

5. import android.app.PendingIntent;

6. import android.app.Service;

7. import android.content.Intent;

8. import android.os.Binder;

9. import android.os.IBinder;

10. import android.util.Log;

11.

12. public class TestService extends Service {

13. private static final String TAG = "TestService";

14. private NotificationManager _nm;

15.

16. @Override

17. public IBinder onBind(Intent i) {

1 2 3 4 5 6  下一页

Tags:Android 开发 教程

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