下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
安卓四大組件簡單概括【篇一:安卓四大組件簡單概括】activity-活動:、activity是android程序的呈現(xiàn)層,顯示可視化的用戶界面,并接收與用戶交互所產(chǎn)生的界面事件,如單擊、觸摸事件。在界面上呈現(xiàn)形式為全屏窗體、非全屏懸浮窗體的對話框。、activities是可執(zhí)行的代碼塊,由用戶或者操作系統(tǒng)來進(jìn)行初始實(shí)例化,并在他們被需求時致以運(yùn)行。、activities可以與用戶、請求數(shù)據(jù)或者其他activity、service的服務(wù)通過query或intent進(jìn)行交互。、對于一個android應(yīng)用程序而言,可以有一個或多個activity,一般在程序啟動后會呈現(xiàn)一個activity,用于提示用戶已經(jīng)正常啟動此activity。當(dāng)activity不積極運(yùn)行時,可以被android系統(tǒng)終止已節(jié)省內(nèi)存。service-服務(wù):、service用于沒有用戶界面,但需要長時間在后臺運(yùn)行的應(yīng)用。service有點(diǎn)類似于桌面應(yīng)用或者服務(wù)器操作系統(tǒng)上的服務(wù)和守護(hù)進(jìn)程。、service是在后臺運(yùn)行的可執(zhí)行的代碼塊,從它被初始化一直運(yùn)行到此程序關(guān)閉。、service最經(jīng)典的一個例子是音樂播放器,盡管用戶已經(jīng)使用了其它的應(yīng)用程序,但仍然需要持續(xù)播放音樂,比如在你聽歌的時候,有人打個電話進(jìn)來,此時音樂播放器的服務(wù)仍然子啊后臺運(yùn)行著,等你電話接完,音樂又會重新播放,在你接電話的時候是無音樂播放器的界面的,而程序一直執(zhí)行service來實(shí)現(xiàn)后臺任務(wù)。broadcastreceiver-廣播接收器(1)、broadcast和intentreceivers對從其他的應(yīng)用程序的服務(wù)請求做出一個全系統(tǒng)廣播的響應(yīng),這些廣播響應(yīng)可能來自于android系統(tǒng)本身或者是任何在其系統(tǒng)上運(yùn)行的程序。、broadcasereceiver是用來接受并響應(yīng)廣播消息的組件。、broadcasereceiver不包含任何用戶界面,但可以通過啟動activity或者notification消息通知欄通知用戶接收到重要信息。、activity或service通過執(zhí)行一個intentreceiver為其他應(yīng)用程序提供了訪問其功能的功能。intentreceiver是一段可執(zhí)行代碼塊,對其他activity的數(shù)據(jù)或服務(wù)請求做出響應(yīng)。請求的activity(客戶端)生成一個intent,把其添加至androidframework中,來指出哪些應(yīng)用程序(目標(biāo)程序)接收并對其做出響應(yīng)。(5)>intent是android的主要構(gòu)成元素之一,它從現(xiàn)有的應(yīng)用程序中創(chuàng)造新的應(yīng)用程序。intent實(shí)現(xiàn)了應(yīng)用程序和其他的應(yīng)用程序和服務(wù)交換所需信息的功能。contentprovider-內(nèi)容提供器:(1)、contentprovider是android系統(tǒng)提供的一種標(biāo)準(zhǔn)的共享數(shù)據(jù)的機(jī)制,應(yīng)用程序可以通過contentprovider來訪問其他應(yīng)用程序的私有數(shù)據(jù)(私有數(shù)據(jù)可以是存儲在文件系統(tǒng)中的文件,也可以是sqlite中的數(shù)據(jù)庫)。⑵、android系統(tǒng)內(nèi)部也提供一些內(nèi)置的contentprovider,能夠?yàn)閼?yīng)用程序提供重要的數(shù)據(jù)信息。android四大組件都具有自己的生命周期,是從組件建立到組件銷毀的整個過程。在生命周期中,組件會在可見、不可見、活動、非活動等狀態(tài)中不斷變化?!酒喊沧克拇蠼M件簡單概括】原文地址:android四大組件分別為activity、service>contentprovider、broadcastreceivero一、android四大組件1、 activity一個activity通常就是一個單獨(dú)的屏幕(窗口)。activity之間通過intent進(jìn)行通信。android應(yīng)用中每一個activity都必須要在androidmanifest.xml配置文件中聲明,否則系統(tǒng)將不識別也不執(zhí)行該activityo2、 service⑴service用于在后臺完成用戶指定的操作。service分為兩種:started(啟動):當(dāng)應(yīng)用程序組件(如activity)調(diào)用startservice()方法啟動服務(wù)時,服務(wù)處于started狀態(tài)。bound(綁定):當(dāng)應(yīng)用程序組件調(diào)用bindservice()方法綁定到服務(wù)時,服務(wù)處于bound狀態(tài)。startservice()與bindservice()區(qū)別:startedservice(啟動服務(wù))是由其他組件調(diào)用startservice()方法啟動的,這導(dǎo)致服務(wù)的onstartcommand()方法被調(diào)用。當(dāng)服務(wù)是started狀態(tài)時,其生命周期與啟動它的組件無關(guān),并且可以在后臺無限期運(yùn)行,即使啟動服務(wù)的組件已經(jīng)被銷毀。因此,服務(wù)需要在完成任務(wù)后調(diào)用stopselfO方法停止,或者由其他組件調(diào)用stopservice()方法停止。使用bindservice()方法啟用服務(wù),調(diào)用者與服務(wù)綁定在了一起,調(diào)用者一旦退出,服務(wù)也就終止,大有“不求同時生,必須同時死”的特點(diǎn)。開發(fā)人員需要在應(yīng)用程序配置文件中聲明全部的service,使用service/service標(biāo)簽。service通常位于后臺運(yùn)行,它一般不需要與用戶交互,因此service組件沒有圖形用戶界面。service組件需要繼承service基類。service組件通常用于為其他組件提供后臺服務(wù)或監(jiān)控其他組件的運(yùn)行狀態(tài)。3、 contentproviderandroid平臺提供了contentprovider使一個應(yīng)用程序的指定數(shù)據(jù)集提供給其他應(yīng)用程序。其他應(yīng)用可以通過contentresolver類從該內(nèi)容提供者中獲取或存入數(shù)據(jù)。只有需要在多個應(yīng)用程序間共享數(shù)據(jù)是才需要內(nèi)容提供者。例如,通訊錄數(shù)據(jù)被多個應(yīng)用程序使用,且必須存儲在一個內(nèi)容提供者中。它的好處是統(tǒng)一數(shù)據(jù)訪問方式。contentprovider實(shí)現(xiàn)數(shù)據(jù)共享。contentprovider用于保存和獲取數(shù)據(jù),并使其對所有應(yīng)用程序可見。這是不同應(yīng)用程序間共享數(shù)據(jù)的唯一方式,因?yàn)閍ndroid沒有提供所有應(yīng)用共同訪問的公共存儲區(qū)。開發(fā)人員不會直接使用contentprovider類的對象,大多數(shù)是通過contentresolver對象實(shí)現(xiàn)對contentprovider的操作。contentprovider使用uri來唯一標(biāo)識其數(shù)據(jù)集,這里的uri以content://作為前綴,表示該數(shù)據(jù)由contentprovider來管理。4、 broadcastreceiver⑴你的應(yīng)用可以使用它對外部事件進(jìn)行過濾,只對感興趣的外部事件(如當(dāng)電話呼入時,或者數(shù)據(jù)網(wǎng)絡(luò)可用時)進(jìn)行接收并做出響應(yīng)。廣播接收器沒有用戶界面。然而,它們可以啟動一個activity或serice來響應(yīng)它們收到的信息,或者用notificationmanager來通知用戶。通知可以用很多種方式來吸引用戶的注意力,例如閃動背燈、震動、播放聲音等。一般來說是在狀態(tài)欄上放一個持久的圖標(biāo),用戶可以打開它并獲取消息。廣播接收者的注冊有兩種方法,分別是程序動態(tài)注冊和androidmanifest文件中進(jìn)行靜態(tài)注冊。動態(tài)注冊廣播接收器特點(diǎn)是當(dāng)用來注冊的activity關(guān)掉后,廣播也就失效了。靜態(tài)注冊無需擔(dān)憂廣播接收器是否被關(guān)閉,只要設(shè)備是開啟狀態(tài),廣播接收器也是打開著的。也就是說哪怕app本身未啟動,該app訂閱的廣播在觸發(fā)時也會對它起作用。二、android四大組件總結(jié)4大組件的注冊4大基本組件都需要注冊才能使用,每個activity、service、contentprovider都需要在androidmanifest文件中進(jìn)行配置。androidmanifest文件中未進(jìn)行聲明的activity、服務(wù)以及內(nèi)容提供者將不為系統(tǒng)所見,從而也就不可用。而broadcastreceiver廣播接收者的注冊分靜態(tài)注冊(在androidmanifest文件中進(jìn)行配置)和通過代碼動態(tài)創(chuàng)建并以調(diào)用context.registerreceiver()的方式注冊至系統(tǒng)。需要注意的是在androidmanifest文件中進(jìn)行配置的廣播接收者會隨系統(tǒng)的啟動而一直處于活躍狀態(tài),只要接收到感興趣的廣播就會觸發(fā)(即使程序未運(yùn)行)。4大組件的激活內(nèi)容提供者的激活:當(dāng)接收到contentresolver發(fā)出的請求后,內(nèi)容提供者被激活。而其它三種組件activity、服務(wù)和廣播接收器被一種叫做intent的異步消息所激活。4大組件的關(guān)閉內(nèi)容提供者僅在響應(yīng)contentresolver提出請求的時候激活。而一個廣播接收器僅在響應(yīng)廣播信息的時候激活。所以,沒有必要去顯式的關(guān)閉這些組件。activity關(guān)閉:可以通過調(diào)用它的finish。方法來關(guān)閉一個activity。服務(wù)關(guān)閉:對于通過startservice()方法啟動的服務(wù)要調(diào)用context.stopservice()方法關(guān)閉服務(wù),使用bindservice()方法啟動的服務(wù)要調(diào)用contex.unbindservice()方法關(guān)閉服務(wù)。android中的任務(wù)(activity棧)(a)任務(wù)其實(shí)就是activity的棧,它由一個或多個activity組成,共同完成一個完整的用戶體驗(yàn)。棧底的是啟動整個任務(wù)的activity,棧頂?shù)氖钱?dāng)前運(yùn)行的用戶可以交互的activity,當(dāng)一個activity啟動另外一個的時候,新的activity就被壓入棧,并成為當(dāng)前運(yùn)行的activity。而前一個activity仍保持在棧之中。當(dāng)用戶按下back鍵的時候,當(dāng)前activity出棧,而前一個恢復(fù)為當(dāng)前運(yùn)行的activity。棧中保存的其實(shí)是對象,棧中的activity永遠(yuǎn)不會重排,只會壓入或彈出。任務(wù)中的所有activit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校安全重點(diǎn)部位實(shí)驗(yàn)室檢查記錄表
- 高一化學(xué)教案:專題第二單元第三課時燃料燃燒釋放的熱量
- 2024高中物理章末質(zhì)量評估一含解析粵教版選修1-1
- 2024高中語文開學(xué)第一課學(xué)生觀后感范文800字少年強(qiáng)中國強(qiáng)素材
- 2024高中語文精讀課文二第4課1貝多芬:扼住命運(yùn)的咽喉一課堂練習(xí)含解析新人教版選修中外傳記蚜
- 2024高考化學(xué)一輪復(fù)習(xí)第十二章物質(zhì)結(jié)構(gòu)與性質(zhì)第一講原子結(jié)構(gòu)與性質(zhì)規(guī)范演練含解析新人教版
- 2024高考?xì)v史一輪復(fù)習(xí)方案專題十五西方人文精神的起源和發(fā)展專題整合備考提能教學(xué)案+練習(xí)人民版
- 2025新人教版英語七年級下單詞表(小學(xué)部分)
- (2篇)2024初中英語教師工作總結(jié)初中英語教師述職報告
- 倉庫管理制度通知
- 危險化學(xué)品的應(yīng)急處理和救援措施
- DB23-T 2334-2019 裝配式混凝土矩形渠道應(yīng)用技術(shù)規(guī)范
- 2023信息系統(tǒng)運(yùn)維服務(wù)方案
- 試卷分析格式表
- 本霍根的五堂課中文版
- 軟件無線電原理與應(yīng)用第3版 課件 【ch02】軟件無線電理論基礎(chǔ)
- 國網(wǎng)山東電力生產(chǎn)技術(shù)改造原則
- 鐵路運(yùn)輸安全現(xiàn)場管理
- 自粘聚合物改性瀝青防水卷材施工工藝與規(guī)程
- 線上學(xué)習(xí)平臺管理辦法
- 2023年某保險公司春節(jié)經(jīng)營教材
評論
0/150
提交評論