首頁(yè) >> 要聞 >

android的四個(gè)組成部分是什么它們的功能是什么?

2022-12-24 18:15:07 來(lái)源: 用戶(hù): 

關(guān)于android的四個(gè)組成部分是什么它們的功能是什么?這個(gè)問(wèn)題很多朋友還不知道,今天小六來(lái)為大家解答以上的問(wèn)題,現(xiàn)在讓我們一起來(lái)看看吧!

1、Android組件分別為activity、service、content provider、broadcast receiver。

2、一、android組件詳解activity(1)一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕(窗口)。

3、(2)Activity之間通過(guò)Intent進(jìn)行通信。

4、(3)android應(yīng)用中每一個(gè)Activity都必須要在AndroidManifest.xml配置文件中聲明,否則系統(tǒng)將不識(shí)別也不執(zhí)行該Activity。

5、2、service(1)service用于在后臺(tái)完成用戶(hù)指定的操作。

6、service分為兩種:(a)started(啟動(dòng)):當(dāng)應(yīng)用程序組件(如activity)調(diào)用startService()方法啟動(dòng)服務(wù)時(shí),服務(wù)處于started狀態(tài)。

7、(b)bound(綁定):當(dāng)應(yīng)用程序組件調(diào)用bindService()方法綁定到服務(wù)時(shí),服務(wù)處于bound狀態(tài)。

8、(2)startService()與bindService()區(qū)別:(a)started service(啟動(dòng)服務(wù))是由其他組件調(diào)用startService()方法啟動(dòng)的,這導(dǎo)致服務(wù)的onStartCommand()方法被調(diào)用。

9、當(dāng)服務(wù)是started狀態(tài)時(shí),其生命周期與啟動(dòng)它的組件無(wú)關(guān),并且可以在后臺(tái)無(wú)限期運(yùn)行,即使啟動(dòng)服務(wù)的組件已經(jīng)被銷(xiāo)毀。

10、因此,服務(wù)需要在完成任務(wù)后調(diào)用stopSelf()方法停止,或者由其他組件調(diào)用stopService()方法停止。

11、(b)使用bindService()方法啟用服務(wù),調(diào)用者與服務(wù)綁定在了一起,調(diào)用者一旦退出,服務(wù)也就終止,大有“不求同時(shí)生,必須同時(shí)死”的特點(diǎn)。

12、(3)開(kāi)發(fā)人員需要在應(yīng)用程序配置文件中聲明全部的service,使用標(biāo)簽。

13、(4)Service通常位于后臺(tái)運(yùn)行,它一般不需要與用戶(hù)交互,因此Service組件沒(méi)有圖形用戶(hù)界面。

14、Service組件需要繼承Service基類(lèi)。

15、Service組件通常用于為其他組件提供后臺(tái)服務(wù)或監(jiān)控其他組件的運(yùn)行狀態(tài)。

16、3、content provider(1)android平臺(tái)提供了Content Provider使一個(gè)應(yīng)用程序的指定數(shù)據(jù)集提供給其他應(yīng)用程序。

17、其他應(yīng)用可以通過(guò)ContentResolver類(lèi)從該內(nèi)容提供者中獲取或存入數(shù)據(jù)。

18、(2)只有需要在多個(gè)應(yīng)用程序間共享數(shù)據(jù)是才需要內(nèi)容提供者。

19、例如,通訊錄數(shù)據(jù)被多個(gè)應(yīng)用程序使用,且必須存儲(chǔ)在一個(gè)內(nèi)容提供者中。

20、它的好處是統(tǒng)一數(shù)據(jù)訪問(wèn)方式。

21、(3)ContentProvider實(shí)現(xiàn)數(shù)據(jù)共享。

22、ContentProvider用于保存和獲取數(shù)據(jù),并使其對(duì)所有應(yīng)用程序可見(jiàn)。

23、這是不同應(yīng)用程序間共享數(shù)據(jù)的唯一方式,因?yàn)閍ndroid沒(méi)有提供所有應(yīng)用共同訪問(wèn)的公共存儲(chǔ)區(qū)。

24、(4)開(kāi)發(fā)人員不會(huì)直接使用ContentProvider類(lèi)的對(duì)象,大多數(shù)是通過(guò)ContentResolver對(duì)象實(shí)現(xiàn)對(duì)ContentProvider的操作。

25、(5)ContentProvider使用URI來(lái)唯一標(biāo)識(shí)其數(shù)據(jù)集,這里的URI以content://作為前綴,表示該數(shù)據(jù)由ContentProvider來(lái)管理。

26、4、broadcast receiver(1)你的應(yīng)用可以使用它對(duì)外部事件進(jìn)行過(guò)濾,只對(duì)感興趣的外部事件(如當(dāng)電話(huà)呼入時(shí),或者數(shù)據(jù)網(wǎng)絡(luò)可用時(shí))進(jìn)行接收并做出響應(yīng)。

27、廣播接收器沒(méi)有用戶(hù)界面。

28、然而,它們可以啟動(dòng)一個(gè)activity或serice來(lái)響應(yīng)它們收到的信息,或者用NotificationManager來(lái)通知用戶(hù)。

29、通知可以用很多種方式來(lái)吸引用戶(hù)的注意力,例如閃動(dòng)背燈、震動(dòng)、播放聲音等。

30、一般來(lái)說(shuō)是在狀態(tài)欄上放一個(gè)持久的圖標(biāo),用戶(hù)可以打開(kāi)它并獲取消息。

31、(2)廣播接收者的注冊(cè)有兩種方法,分別是程序動(dòng)態(tài)注冊(cè)和AndroidManifest文件中進(jìn)行靜態(tài)注冊(cè)。

32、(3)動(dòng)態(tài)注冊(cè)廣播接收器特點(diǎn)是當(dāng)用來(lái)注冊(cè)的Activity關(guān)掉后,廣播也就失效了。

33、靜態(tài)注冊(cè)無(wú)需擔(dān)憂(yōu)廣播接收器是否被關(guān)閉,只要設(shè)備是開(kāi)啟狀態(tài),廣播接收器也是打開(kāi)著的。

34、也就是說(shuō)哪怕app本身未啟動(dòng),該app訂閱的廣播在。

本文分享完畢,希望對(duì)大家有所幫助。

  免責(zé)聲明:本文由用戶(hù)上傳,與本網(wǎng)站立場(chǎng)無(wú)關(guān)。財(cái)經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。 如有侵權(quán)請(qǐng)聯(lián)系刪除!

 
分享:
最新文章
大家愛(ài)看
頻道推薦
站長(zhǎng)推薦