android--服务程序的例子
来源:互联网 发布:计算机网络原理 知乎 编辑:程序博客网 时间:2024/05/01 04:22
发先我的博文里没有关于服务程序的例子,感觉不完整。服务在我们手机很多,当手机开机后,你会发现有很多程序都随之启动,而且是关不掉的,他们就是常驻系统的程序。
下面贴一个简单的服务程序的例子,虽然比较简单,但是基本的框架已经有了。可以借鉴的哦。
packagecom.lw.myandroid;
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
//反复执行的服务程序框架
public class MyService extends Service {
privatestatic final String TAG = "HIPPO";
privateHandler objHandler = new Handler();
privateint intCounter = 0;
privateRunnable mTask = new Runnable() {
@Override
public voidrun() {
++intCounter;
Log.i(TAG,"Counter: "+Integer.toString(intCounter));
System.out.println("Counter: "+Integer.toString(intCounter));
objHandler.postDelayed(mTask, 1000);
}
};
@Override
public voidonCreate() {
Log.i(TAG,"Service onCreate()");
System.out.println("Counter: "+Integer.toString(intCounter));
objHandler.postDelayed(mTask, 1000);
super.onCreate();
}
@Override
public voidonStart(Intent intent, int startId) {
// TODOAuto-generated method stub
Log.i(TAG,"Service onStart()");
System.out.println("Counter: "+Integer.toString(intCounter));
super.onStart(intent, startId);
}
@Override
publicIBinder onBind(Intent intent) {
// TODOAuto-generated method stub
Log.i(TAG,"Service onBind()");
System.out.println("Counter: "+Integer.toString(intCounter));
returnnull;
}
@Override
public voidonDestroy() {
Log.i(TAG,"Service onDestroy()");
System.out.println("Counter: "+Integer.toString(intCounter));
objHandler.removeCallbacks(mTask);
super.onDestroy();
}
}
//下面是关于这个程序的理解
一。形式:
一个简单的服务程序必须是继承自android.app.Service的子类,这类程序没有UI界面,是操作系统的常驻程序。必须实现publicIBinder onBind(Intent intent);方法。
二。虽然服务程序一旦启动,就会在后台运行,但是却没有反复运行的能力,必须通过类似timer的机制来达到目的。这类技巧通常用在:系统常数检测,想网络验证数据,后台同步数据等。
三。通常在服务程序中实现一个Runnable接口。具体操作如下:
配置文件中的写法:
<service
下面贴一个简单的服务程序的例子,虽然比较简单,但是基本的框架已经有了。可以借鉴的哦。
packagecom.lw.myandroid;
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
//反复执行的服务程序框架
public class MyService extends Service {
}
//下面是关于这个程序的理解
一。形式:
一个简单的服务程序必须是继承自android.app.Service的子类,这类程序没有UI界面,是操作系统的常驻程序。必须实现publicIBinder onBind(Intent intent);方法。
二。虽然服务程序一旦启动,就会在后台运行,但是却没有反复运行的能力,必须通过类似timer的机制来达到目的。这类技巧通常用在:系统常数检测,想网络验证数据,后台同步数据等。
三。通常在服务程序中实现一个Runnable接口。具体操作如下:
配置文件中的写法:
<service