0
点赞
收藏
分享

微信扫一扫

android编写Service入门


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

Service有两种类型:

  1. 本地服务(Local Service):用于应用程序内部
  2. 远程服务(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



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




举报

相关推荐

0 条评论