




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
安卓四大組件簡單概括【篇一:安卓四大組件簡單概括】activity-活動:、activity是android程序的呈現層,顯示可視化的用戶界面,并接收與用戶交互所產生的界面事件,如單擊、觸摸事件。在界面上呈現形式為全屏窗體、非全屏懸浮窗體的對話框。、activities是可執行的代碼塊,由用戶或者操作系統來進行初始實例化,并在他們被需求時致以運行。、activities可以與用戶、請求數據或者其他activity、service的服務通過query或intent進行交互。、對于一個android應用程序而言,可以有一個或多個activity,一般在程序啟動后會呈現一個activity,用于提示用戶已經正常啟動此activity。當activity不積極運行時,可以被android系統終止已節省內存。service-服務:、service用于沒有用戶界面,但需要長時間在后臺運行的應用。service有點類似于桌面應用或者服務器操作系統上的服務和守護進程。、service是在后臺運行的可執行的代碼塊,從它被初始化一直運行到此程序關閉。、service最經典的一個例子是音樂播放器,盡管用戶已經使用了其它的應用程序,但仍然需要持續播放音樂,比如在你聽歌的時候,有人打個電話進來,此時音樂播放器的服務仍然子啊后臺運行著,等你電話接完,音樂又會重新播放,在你接電話的時候是無音樂播放器的界面的,而程序一直執行service來實現后臺任務。broadcastreceiver-廣播接收器(1)、broadcast和intentreceivers對從其他的應用程序的服務請求做出一個全系統廣播的響應,這些廣播響應可能來自于android系統本身或者是任何在其系統上運行的程序。、broadcasereceiver是用來接受并響應廣播消息的組件。、broadcasereceiver不包含任何用戶界面,但可以通過啟動activity或者notification消息通知欄通知用戶接收到重要信息。、activity或service通過執行一個intentreceiver為其他應用程序提供了訪問其功能的功能。intentreceiver是一段可執行代碼塊,對其他activity的數據或服務請求做出響應。請求的activity(客戶端)生成一個intent,把其添加至androidframework中,來指出哪些應用程序(目標程序)接收并對其做出響應。(5)>intent是android的主要構成元素之一,它從現有的應用程序中創造新的應用程序。intent實現了應用程序和其他的應用程序和服務交換所需信息的功能。contentprovider-內容提供器:(1)、contentprovider是android系統提供的一種標準的共享數據的機制,應用程序可以通過contentprovider來訪問其他應用程序的私有數據(私有數據可以是存儲在文件系統中的文件,也可以是sqlite中的數據庫)。⑵、android系統內部也提供一些內置的contentprovider,能夠為應用程序提供重要的數據信息。android四大組件都具有自己的生命周期,是從組件建立到組件銷毀的整個過程。在生命周期中,組件會在可見、不可見、活動、非活動等狀態中不斷變化。【篇二:安卓四大組件簡單概括】原文地址:android四大組件分別為activity、service>contentprovider、broadcastreceivero一、android四大組件1、 activity一個activity通常就是一個單獨的屏幕(窗口)。activity之間通過intent進行通信。android應用中每一個activity都必須要在androidmanifest.xml配置文件中聲明,否則系統將不識別也不執行該activityo2、 service⑴service用于在后臺完成用戶指定的操作。service分為兩種:started(啟動):當應用程序組件(如activity)調用startservice()方法啟動服務時,服務處于started狀態。bound(綁定):當應用程序組件調用bindservice()方法綁定到服務時,服務處于bound狀態。startservice()與bindservice()區別:startedservice(啟動服務)是由其他組件調用startservice()方法啟動的,這導致服務的onstartcommand()方法被調用。當服務是started狀態時,其生命周期與啟動它的組件無關,并且可以在后臺無限期運行,即使啟動服務的組件已經被銷毀。因此,服務需要在完成任務后調用stopselfO方法停止,或者由其他組件調用stopservice()方法停止。使用bindservice()方法啟用服務,調用者與服務綁定在了一起,調用者一旦退出,服務也就終止,大有“不求同時生,必須同時死”的特點。開發人員需要在應用程序配置文件中聲明全部的service,使用service/service標簽。service通常位于后臺運行,它一般不需要與用戶交互,因此service組件沒有圖形用戶界面。service組件需要繼承service基類。service組件通常用于為其他組件提供后臺服務或監控其他組件的運行狀態。3、 contentproviderandroid平臺提供了contentprovider使一個應用程序的指定數據集提供給其他應用程序。其他應用可以通過contentresolver類從該內容提供者中獲取或存入數據。只有需要在多個應用程序間共享數據是才需要內容提供者。例如,通訊錄數據被多個應用程序使用,且必須存儲在一個內容提供者中。它的好處是統一數據訪問方式。contentprovider實現數據共享。contentprovider用于保存和獲取數據,并使其對所有應用程序可見。這是不同應用程序間共享數據的唯一方式,因為android沒有提供所有應用共同訪問的公共存儲區。開發人員不會直接使用contentprovider類的對象,大多數是通過contentresolver對象實現對contentprovider的操作。contentprovider使用uri來唯一標識其數據集,這里的uri以content://作為前綴,表示該數據由contentprovider來管理。4、 broadcastreceiver⑴你的應用可以使用它對外部事件進行過濾,只對感興趣的外部事件(如當電話呼入時,或者數據網絡可用時)進行接收并做出響應。廣播接收器沒有用戶界面。然而,它們可以啟動一個activity或serice來響應它們收到的信息,或者用notificationmanager來通知用戶。通知可以用很多種方式來吸引用戶的注意力,例如閃動背燈、震動、播放聲音等。一般來說是在狀態欄上放一個持久的圖標,用戶可以打開它并獲取消息。廣播接收者的注冊有兩種方法,分別是程序動態注冊和androidmanifest文件中進行靜態注冊。動態注冊廣播接收器特點是當用來注冊的activity關掉后,廣播也就失效了。靜態注冊無需擔憂廣播接收器是否被關閉,只要設備是開啟狀態,廣播接收器也是打開著的。也就是說哪怕app本身未啟動,該app訂閱的廣播在觸發時也會對它起作用。二、android四大組件總結4大組件的注冊4大基本組件都需要注冊才能使用,每個activity、service、contentprovider都需要在androidmanifest文件中進行配置。androidmanifest文件中未進行聲明的activity、服務以及內容提供者將不為系統所見,從而也就不可用。而broadcastreceiver廣播接收者的注冊分靜態注冊(在androidmanifest文件中進行配置)和通過代碼動態創建并以調用context.registerreceiver()的方式注冊至系統。需要注意的是在androidmanifest文件中進行配置的廣播接收者會隨系統的啟動而一直處于活躍狀態,只要接收到感興趣的廣播就會觸發(即使程序未運行)。4大組件的激活內容提供者的激活:當接收到contentresolver發出的請求后,內容提供者被激活。而其它三種組件activity、服務和廣播接收器被一種叫做intent的異步消息所激活。4大組件的關閉內容提供者僅在響應contentresolver提出請求的時候激活。而一個廣播接收器僅在響應廣播信息的時候激活。所以,沒有必要去顯式的關閉這些組件。activity關閉:可以通過調用它的finish。方法來關閉一個activity。服務關閉:對于通過startservice()方法啟動的服務要調用context.stopservice()方法關閉服務,使用bindservice()方法啟動的服務要調用contex.unbindservice()方法關閉服務。android中的任務(activity棧)(a)任務其實就是activity的棧,它由一個或多個activity組成,共同完成一個完整的用戶體驗。棧底的是啟動整個任務的activity,棧頂的是當前運行的用戶可以交互的activity,當一個activity啟動另外一個的時候,新的activity就被壓入棧,并成為當前運行的activity。而前一個activity仍保持在棧之中。當用戶按下back鍵的時候,當前activity出棧,而前一個恢復為當前運行的activity。棧中保存的其實是對象,棧中的activity永遠不會重排,只會壓入或彈出。任務中的所有activit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年平涼職業技術學院高職單招職業技能測試近5年常考版參考題庫含答案解析
- 2025年宿遷職業技術學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年安徽揚子職業技術學院高職單招(數學)歷年真題考點含答案解析
- 2025年天津醫學高等專科學校高職單招職業適應性測試歷年(2019-2024年)真題考點試卷含答案解析
- 年中工作總結與計劃
- 中國春節傳統文化的歷史發展
- 電梯安全裝置培訓課件
- 醫療衛生行業整肅治理教育
- 2018黨章培訓課件
- 人教版數學六年級下冊第二單元百分數(二)單元測試含答案
- 大數據平臺數據治理項目建設方案
- 1+X數控車銑加工職業技能等級考試題及答案
- 人教版小學三年級下冊數學教案教學設計
- 音樂電臺行業經營模式分析
- 2024-2025學年人教版八年級物理上學期課后習題答案
- 2024年高考數學北京卷試卷評析及備考策略
- 信息技術(基礎模塊)模塊六 信息素養與社會責任
- HG∕T 3781-2014 同步帶用浸膠玻璃纖維繩
- 【萬向傳動軸設計11000字(論文)】
- 《企業知識產權國際合規管理規范》
- 湖北省武漢市武昌區2023-2024學年四年級下學期期末檢測數學試題
評論
0/150
提交評論