Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android四個重要的組件類型

Android四個重要的組件類型

編輯:關於android開發

  一、四個組件類型

  Android中有四個重要的組件類型:Activities、Services、Broadcast receivers、Content providers。 

  Activities 
  1.多個activity可以組合在一起使用並構成一個組合式應用,但是它們各自仍然是互相獨立的。它們都繼承自基類Activity。
  2.一般情況下,當Android應用程序中存在多個Activity時,其中一個Activity會被標記為first並首先展示給用戶;若當前Activity准備要開始下一個時,才會移動到下一個Activity。
  3.每個Activity都有一個默認窗體;另外Activity也會使用額外的窗體,例如:彈出式對話框。 
  4.窗體中的元素是由view類的對象生成的,它們都繼承自基類View。這些可視化元素都維持著一個長方形區域,這塊區域就是該元素用於響應用戶請求(action)的發源地。 
  5.窗體中的元素是存在於Activity中的窗體之中的,因此程序裡面調用Activity.setContentView()即可。

  Services 
  1.service不需要可視化的用戶界面,它會在後台不定期的運行。每個service都繼承自基類Service。 
  2.為使service的運行不影響其它組件,它們會產生大量的任務線程。 

  Broadcast receivers 
  1.broadcast receiver:它是一個用來接收和響應broadcast的組件,大多數的broadcast就來自於系統當中,例如:更改時區、更改語言、電池電量不足等。另外應用程序也可以創建broadcast,例如:一些數據已經下載到設備上,那麼就會通知其它的應用程序你們可以使用這些數據了。所有的接收器都繼續自基類Broadcastreceiver。 
  2.broadcast不會直接顯示一個用戶界面,而是啟動一個activity來響應它們所接受到的信息或是使用NotificationManager警示用戶。Notification有很多方式能引起用戶的注意,比如:閃爍背景燈、設備的震動功能、提示音等;最典型的方式就是在狀態欄中放置一個顯眼的小圖標,用戶則可以打開它獲取消息。

  Content providers 
  1.content provider可以為其它應用程序創建它們所需要的有用數據。這些數據可以保存到文件系統、SQLite數據庫或是其它有意義的方式。 
  2.content provider繼續自基類ContentProvider,它們都實現了一套標准的接口,以供應用程序能夠檢索、保存這些數據。不過在實際開發中,不能直接調用那些方法,需要用類ContentResolver的對象調用它們。

  二、組件使用說明 
  啟動組件:Intents 
  1.除了Content providers是要和ContentResolver搭配使用之外,其余的三個組件:Activities、Services、Broadcast receivers都會與Intents搭配使用。 
  2.創建一個Activity是向Context.startActivity()或是 Activity.startActivityForResult()兩個方法傳遞一個Intent對象;前者的不返回任何結果,後者則會返回期望的結果。Activity調用getIntent()方法以獲取Intent對象。 
  3.創建一個服務是向Context.startService()或Service.onStartCommand()方法傳遞一個Intent對象。 
  4.創建一個boadcast是向Context.sendBroadcast()、Context.sendOrderBroadcast()、Context.sendStickyBroadcast()的三個方法中任意一個傳遞Intent對象即可。

  關閉組件 
  1.Content provider組件僅僅是響應來自ContentResolver的請求;Broadcast receiver僅僅是響應broadcast消息。所以開發人員不需要顯示地關閉它們。 
  2.由於Activity和Service需要長期的運行,為避免系統的資源浪費,所以Android為開發人員提供了關閉它們的方法。 
  3.關閉Activity是調用自身的finish()或finishActivitiy();後者需要一個條件,是以startActivityForResult()方法啟動的。 
  4.關閉Service是調用自身的stopSelf()或Context.stopService()。 
  5.其他情況下,當某個組件不再使用,系統也會自動將它們關閉或是Android為了更多的在用組件回收內存也會關閉它們。

  Manifest文件 
  1.Android應用程序運行之前,它要知道存在著哪些組件。Manifest文件就是用來告知Android,你有哪些組件? 
  2.四個組件類型的標簽分別是:<activity>、<service>、<provider>、<receiver>。 
  3.上述前三個組件標簽必須在Manifest文件中定義,否則Android不會運行這些組件;而Broadcast receiver組件既可以在Manifest文件中定義也可以動態地在代碼中創建BroadcastReceiver對象或是調用Context.registerReceiver()進行系統注冊。

  Intent filters 
  1.Intent filters定義在Manifest文件中,若其當前的目標組件有名字,Android就會查找到那個組件並且運行它;否則Android會在當前 Intent filters裡面比較Intent對象,選擇最適合的Intent與這個匿名組件配合使用。 
  2.一個組件可以有多個intent filters,每一個都定義了不同的功能。 
  3.對於那些創建於代碼中的Broadcast revceiver來說,intent filters也會直接地實例化成IntentFilter對象;而其它的filters是在Manifest文件中創建。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved