成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細描述Android服務解說

移動開發 Android
Android服務中有幾個重要的組件,其中之一就是Service,這是沒有UI的組件,可以做為后臺的服務,當然可以使用Intent來啟動。

開放手機聯盟的成立和 Android服務 的推出是對現狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入,谷歌將繼續努力,讓這些服務變得更好,同時也將添加更有吸引力的特性、應用和服務。

一,Android服務中的Service與調用者在同一線程,所以要是耗時的操作要在Service中新開線程。
二,Android的Service中,主要是實現其onCreate,onStart, onDestroy,onBind,onUnBind幾個函數,來實現我們所需要的功能。

簡單的調可以在調用者對象中使用Context.startService來調用,以Intent為參數,當然,Intent搜索,匹配目標的方式與以前在《Intent使用》中方式一樣。

下面來看一段例程:

  1. package test.pHello;  
  2.  
  3. import android.app.Activity;  
  4. import android.content.ComponentName;  
  5. import android.content.Context;  
  6. import android.content.Intent;  
  7. import android.content.ServiceConnection;  
  8. import android.net.Uri;  
  9. import android.os.Bundle;  
  10. import android.os.IBinder;  
  11. import android.view.Menu;  
  12. import android.view.MenuItem;  
  13. import android.widget.TextView;  
  14.  
  15. public class HelloActivity extends Activity {   
  16.    
  17.  ITestService mService = null;  
  18.  ServiceConnection sconnection = new ServiceConnection()  
  19.  {  
  20.   public void onServiceConnected(ComponentName name, IBinder service)  
  21.   {  
  22.    mService  = (ITestService)service;  
  23.    if (mService != null)  
  24.    {  
  25.     mService.showName();  
  26.    }  
  27.   }  
  28.  
  29.   public void onServiceDisconnected(ComponentName name)   
  30.   {     
  31.      
  32.   }  
  33.  };  
  34.  @Override  
  35.  public boolean onCreateOptionsMenu(Menu menu) {  
  36.   // TODO Auto-generated method stub  
  37.   super.onCreateOptionsMenu(menu);  
  38.   menu.add(0, Menu.FIRST+1, 1, "OpenActivity");  
  39.   menu.add(0, Menu.FIRST+2, 2, "StartService");  
  40.   menu.add(0, Menu.FIRST+3, 3, "StopService");  
  41.   menu.add(0, Menu.FIRST+4, 4, "BindService");  
  42.   return true;  
  43.  }  
  44.  
  45.  @Override  
  46.  public boolean onOptionsItemSelected(MenuItem item) {  
  47.   // TODO Auto-generated method stub  
  48.   super.onOptionsItemSelected(item);  
  49.   switch(item.getItemId())  
  50.   {  
  51.   case Menu.FIRST + 1:  
  52.   {  
  53.    this.setTitle("Switch Activity");  
  54.    Intent i = new Intent();     
  55.    i.setAction("test_action");    
  56.    if (Tools.isIntentAvailable(this,i))  
  57.     this.startActivity(i);  
  58.    else  
  59.     this.setTitle("the Intent is unavailable!!!");  
  60.    break;  
  61.   }  
  62.   case Menu.FIRST + 2:  
  63.   {  
  64.    this.setTitle("Start Service");  
  65.    //Intent i = new Intent(this, TestService.class);  
  66.    Intent i = new Intent();  
  67.    i.setAction("start_service");  
  68.    this.startService(i);  
  69.    break;  
  70.   }  
  71.   case Menu.FIRST + 3:  
  72.   {  
  73.    this.setTitle("Stop Service");  
  74.    Intent i = new Intent(this, TestService.class);  
  75.    this.stopService(i);  
  76.    break;  
  77.   }  
  78.   case Menu.FIRST + 4:  
  79.   {  
  80.    this.setTitle("Bind Service!");  
  81.    Intent i = new Intent(this, TestService.class);  
  82.    this.bindService(i, this.sconnection, Context.BIND_AUTO_CREATE);  
  83.      
  84.    break;  
  85.   }  
  86.   }  
  87.   return true;  
  88.  }  
  89.  
  90.  @Override  
  91.     public void onCreate(Bundle savedInstanceState) {  
  92.         super.onCreate(savedInstanceState);         
  93.         this.setContentView(R.layout.main);     
  94.     }  
  95. }  

編譯執行,你會發現,是先執行onCreate,然后再執行onBind,在調用者的Context.bindService返回時,ServiceConnection的OnConnected并沒有馬上被執行。Android服務遠程綁定:上述綁定是在調用者與Service在同一個應用程序中的情況,如果分處在不同的程序中,那么,調用方式又是一另一種情況。我們來看一下。

【編輯推薦】

  1. Android應用程序組建原理深入剖析
  2. Android SMS短信服務相關概念簡述
  3. PythonAndroid數據庫相關代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應用程序的四個關鍵點
責任編輯:chenqingxiang 來源: 清華大學出版社
相關推薦

2009-09-14 16:33:55

LINQ To XML

2009-09-24 16:19:53

Hibernate應用

2009-09-25 14:28:40

Hibernate S

2009-09-14 13:14:49

LINQ序列

2009-09-14 14:58:52

LINQ to XML

2009-10-13 17:16:40

VB.NET Web服

2009-11-18 11:14:49

2009-08-26 15:53:48

C#擴展方法

2009-08-27 15:17:40

C# const變量

2009-09-07 15:15:43

2009-10-10 10:04:50

RHEL合法使用

2009-08-10 16:40:03

C#索引器

2009-09-08 11:09:39

LINQ數據源

2010-04-09 17:45:06

Oracle索引

2009-10-15 14:59:45

網絡布線光纖技術

2009-09-25 11:04:32

Hibernate3實

2009-09-03 17:59:18

C#調用事件

2011-11-02 09:29:42

存儲虛擬化虛擬化

2009-10-16 11:02:40

VB調用動態連接庫

2009-10-12 12:54:58

VB.NET聲明API
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 视频在线一区二区 | 999精品网| 久久免费精品视频 | 亚洲精品一二三 | 欧美一区二区在线看 | 日韩av高清在线 | 爱爱小视频 | 久国产精品 | 人成精品 | 免费在线看a| 毛片一区二区三区 | 国产欧美一级二级三级在线视频 | 亚洲国产视频一区 | 青青草免费在线视频 | 精品日韩一区二区三区av动图 | 欧美性一区二区三区 | 欧美一区二区三区 | 亚洲欧美国产精品久久 | 97av视频在线 | 自拍偷拍中文字幕 | 亚洲一区精品视频 | 国产精品中文字幕在线 | 亚洲日韩中文字幕 | 久久影院一区 | 精品成人 | 亚洲视频在线免费 | 自拍偷拍3p | 精品一区二区三区不卡 | 日韩在线观看视频一区 | 午夜性视频| 久久高潮 | 欧美黄色网 | 九九九视频在线观看 | 射久久 | 国产精品777一区二区 | www.日韩| 99精品久久久久久 | 日韩精品一区二区三区在线播放 | 欧美精品啪啪 | 欧美日韩不卡 | 久久噜 |