Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android四大組件的介紹

Android四大組件的介紹

編輯:關於Android編程

一.Android四大組件詳解

Android四大組件分別是:activity,service,contentprovider,broadcastreceiver.

1.activity:

1).一個應用程序一般由多個activity組成.

2).任務棧(taskstack)(別名(backstack)後退棧),記錄存放用戶開啟的activity.

3).一個應用程序被開啟之後,系統就會分配一個任務棧,當所有activity都退出時,任務棧清空.

4).任務棧的id是integer型的,是自增長的,它從1開始自增長,自增長值為1.

5).activity之間通過intent進行通信.

6).app中每一個activity都必須在AndroidManifest.xml文件中進行聲明,否則系統將不識別不執行該activity.

7).activity的啟動模式,standard(標准啟動模式),singleTop(單一頂部),singletask(單一任務棧),singleInstance(單態,單例模式).

(1).standard,默認的標准啟動模式:每次startActivity都是創建一個新的activity,適用於絕大多數情況.

(2).singleTop,單一頂部,如果要開啟的activity在任務棧的頂部已經存在,就不會創建新的實例,而是調用onNewIntent()方法.

應用場景:浏覽器書簽.避免棧頂的activity被重復創建.

(3).singletask,單一任務棧,activity只會在任務棧裡面存在一個實例,如果要激活的activity在任務棧中已經存在,調用onNewIntent()方法,並且清空當前任務裡面的所有activity,

應用場景:浏覽器的activity,整個任務棧只有一個activity.

(4).singlelnstance,單態單例模式,整個手機系統中只有一個任務實例,不同的應用去打開一個activity,共享這個activity.

2.Service:

1).service用於用戶在後台完成獨立的操作,service分為兩種,started(啟動),bound(綁定):

a)Started(啟動):當應用程序組件調用startService()方法時服務停止,服務處於started狀態.

b)Bound(綁定):當用用程序組件調用boundService()方法綁定服務時,服務處於綁定狀態.

2).startedService(啟動服務):是由其他組件調用startService()方法啟動的,導致服務的onStartCommand()方法被調用.當服務處於started的狀態時,其生命周期與啟動它的組件無關,服務需要在完成任務後調用stopSelf()方法停止,或者由其他組件調用stopService()方法停止.

3).使用bindService()方法啟動服務,調用的組件與服務綁定在了一起,該組件一旦退出服務也就終止.

4).開發人員需要在程序配置文件中生命全部的service,使用標簽.

5).Service通常位於後台運行,一般不與用戶交互,所以Service組件沒有圖形用戶界面.Service組件需要繼承Service基類.Service組件通常為其他組件提供後台服務或者監控其他組件的運行狀態.

6).長期在後台運行的組件不要在activity中開啟子線程.應該是創建服務,在服務裡面開啟子線程.

3.Contentprovider:

1).android平台提供了ContentProvider使一個程序的指定數據集提供給其他應用程序.其他應用可以通過contentResolver類從該類容中獲取存入的數據.

2).當多個應用程序中共享數組時可使用該組件.例如通訊錄,

3).ContentProvider實現數組共享.ContentProvider用於保存數組和獲取數據,並對其所有應用程序可見.

4).ContentProvider使用URL來唯一標識其數據集.

4.Broadcastreceiver:

1).廣播接收器專注於廣播通知信息,並作出對應事件處理的組件.

2).應用程序可以擁有任意數量的廣播接收器.以對它感興趣的所有消息作出響應.所有的接收器均繼承自BroadcastReceiver基類.

3).廣播接收者注冊有兩種方式:

a)程序動態注冊.

b)AndroidManifest.xml文件中進行靜態注冊.

4).動態注冊的特點:activity銷毀後,該廣播失效.靜態注冊只要設備開啟廣播接收器就是打開的.

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