關(guān)于android組件的使用,android組件是什么這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、Android組件分別為activity、service、content provider、broadcast receiver。
2、一、android組件詳解activity(1)一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕(窗口)。
3、(2)Activity之間通過Intent進(jìn)行通信。
4、(3)android應(yīng)用中每一個(gè)Activity都必須要在AndroidManifest.xml配置文件中聲明,否則系統(tǒng)將不識別也不執(zhí)行該Activity。
5、2、service(1)service用于在后臺完成用戶指定的操作。
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)它的組件無關(guān),并且可以在后臺無限期運(yùn)行,即使啟動(dòng)服務(wù)的組件已經(jīng)被銷毀。
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)開發(fā)人員需要在應(yīng)用程序配置文件中聲明全部的service,使用
13、(4)Service通常位于后臺運(yùn)行,它一般不需要與用戶交互,因此Service組件沒有圖形用戶界面。
14、Service組件需要繼承Service基類。
15、Service組件通常用于為其他組件提供后臺服務(wù)或監(jiān)控其他組件的運(yùn)行狀態(tài)。
16、3、content provider(1)android平臺提供了Content Provider使一個(gè)應(yīng)用程序的指定數(shù)據(jù)集提供給其他應(yīng)用程序。
17、其他應(yīng)用可以通過ContentResolver類從該內(nèi)容提供者中獲取或存入數(shù)據(jù)。
18、(2)只有需要在多個(gè)應(yīng)用程序間共享數(shù)據(jù)是才需要內(nèi)容提供者。
19、例如,通訊錄數(shù)據(jù)被多個(gè)應(yīng)用程序使用,且必須存儲在一個(gè)內(nèi)容提供者中。
20、它的好處是統(tǒng)一數(shù)據(jù)訪問方式。
21、(3)ContentProvider實(shí)現(xiàn)數(shù)據(jù)共享。
22、ContentProvider用于保存和獲取數(shù)據(jù),并使其對所有應(yīng)用程序可見。
23、這是不同應(yīng)用程序間共享數(shù)據(jù)的唯一方式,因?yàn)閍ndroid沒有提供所有應(yīng)用共同訪問的公共存儲區(qū)。
24、(4)開發(fā)人員不會直接使用ContentProvider類的對象,大多數(shù)是通過ContentResolver對象實(shí)現(xiàn)對ContentProvider的操作。
25、(5)ContentProvider使用URI來唯一標(biāo)識其數(shù)據(jù)集,這里的URI以content://作為前綴,表示該數(shù)據(jù)由ContentProvider來管理。
26、4、broadcast receiver(1)你的應(yīng)用可以使用它對外部事件進(jìn)行過濾,只對感興趣的外部事件(如當(dāng)電話呼入時(shí),或者數(shù)據(jù)網(wǎng)絡(luò)可用時(shí))進(jìn)行接收并做出響應(yīng)。
27、廣播接收器沒有用戶界面。
28、然而,它們可以啟動(dòng)一個(gè)activity或serice來響應(yīng)它們收到的信息,或者用NotificationManager來通知用戶。
29、通知可以用很多種方式來吸引用戶的注意力,例如閃動(dòng)背燈、震動(dòng)、播放聲音等。
30、一般來說是在狀態(tài)欄上放一個(gè)持久的圖標(biāo),用戶可以打開它并獲取消息。
31、(2)廣播接收者的注冊有兩種方法,分別是程序動(dòng)態(tài)注冊和AndroidManifest文件中進(jìn)行靜態(tài)注冊。
32、(3)動(dòng)態(tài)注冊廣播接收器特點(diǎn)是當(dāng)用來注冊的Activity關(guān)掉后,廣播也就失效了。
33、靜態(tài)注冊無需擔(dān)憂廣播接收器是否被關(guān)閉,只要設(shè)備是開啟狀態(tài),廣播接收器也是打開著的。
34、也就是說哪怕app本身未啟動(dòng),該app訂閱的廣播在。
本文分享完畢,希望對大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!