下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】Android中如何使用系統(tǒng)組件
本篇文章給大家分享的是有關(guān)Android中如何使用系統(tǒng)組件,在下覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著在下一起來看看吧。Activities(活動)應(yīng)用程序的顯示層。每一個(gè)畫面對應(yīng)于你的應(yīng)用程序,將會是Activity類的擴(kuò)展。Activity使用Views去構(gòu)建UI來顯示信息和響應(yīng)用戶的行為。就桌面開發(fā)而言,一個(gè)Activity相當(dāng)于一張F(tuán)orm。一個(gè)Activity通常展現(xiàn)為一個(gè)可視化的用戶界面。例如,一個(gè)Activity可能展現(xiàn)為一個(gè)用戶可以選擇的菜單項(xiàng)列表或者展現(xiàn)一些圖片以及圖片的標(biāo)題。一個(gè)消息服務(wù)應(yīng)用程序可能包含一個(gè)顯示聯(lián)系人列表的Activity,一個(gè)編寫信息的Activity,以及其它一些查看信息和修改應(yīng)用程序設(shè)置的Activity。雖然這些Activity一起工作,共同組成了一個(gè)應(yīng)用程序,但每一個(gè)Activity都是相對獨(dú)立的。每一個(gè)Activity都是Activity(android.app.Activity)的子類。一個(gè)應(yīng)用程序可能只包含一個(gè)Activity,或者像上面提到的消息服務(wù)程序一樣有多個(gè)Activity。一個(gè)應(yīng)用程序包含幾個(gè)Activity以及各個(gè)Activity完成什么樣的功能完全取決于應(yīng)用程序以及它的設(shè)計(jì)。通常每個(gè)應(yīng)用程序都包含一個(gè)在應(yīng)用程序啟動后***個(gè)展現(xiàn)給用戶的Activity。在當(dāng)前展現(xiàn)給用戶的Activity中啟動一個(gè)新的Activity,可以實(shí)現(xiàn)從一個(gè)Activity轉(zhuǎn)換到另外一個(gè)Activity。每個(gè)Activity都會有一個(gè)用于繪制用戶界面的窗口。通常這樣一個(gè)窗口會填充整個(gè)屏幕,當(dāng)然這個(gè)窗口也可以比屏幕小并漂浮在其他窗口之上。Activity還可以使用一些額外的窗口,例如一個(gè)要求用戶響應(yīng)的彈出式對話框,或者是當(dāng)用戶在屏幕上選擇一個(gè)條目后向用戶展現(xiàn)一些重要信息的窗口。展示Activity窗口的可視化內(nèi)容區(qū)域是一些具有層次關(guān)系(很像數(shù)據(jù)結(jié)構(gòu)中的樹)的視圖,而視圖則是由類View的子類表示的。每個(gè)視圖控制窗口中的一個(gè)矩形區(qū)域。父視圖包含一些子視圖并管理子視圖的布局。位于葉節(jié)點(diǎn)的視圖直接控制并響應(yīng)用戶的動作。因此視圖就是Activity與用戶交互的接口。例如,一個(gè)顯示圖片的視圖,當(dāng)用戶單擊的時(shí)候它可能會啟動一個(gè)動作。Android有許多開發(fā)人員可以直接使用的視圖,包括按鈕,文本域,滾動條,菜單,復(fù)選框等。通過調(diào)用Activity.setContentView()方法來設(shè)置展現(xiàn)Activity的窗口的視圖。內(nèi)容視圖則是視圖層次結(jié)構(gòu)中的根節(jié)點(diǎn)視圖。Services(服務(wù))Android應(yīng)用程序中不可見的“工人”。Service組件運(yùn)行時(shí)不可見,但它負(fù)責(zé)更新的數(shù)據(jù)源和可見的Activity,以及觸發(fā)通知。它們常用來執(zhí)行一些需要持續(xù)運(yùn)行的處理,當(dāng)你的Activity已經(jīng)不處于激活狀態(tài)或不可見。Service沒有用戶界面,但它會在后臺一直運(yùn)行。例如,Service可能在用戶處理其它事情的時(shí)候播放背景音樂,或者從網(wǎng)絡(luò)上獲取數(shù)據(jù),或者執(zhí)行一些運(yùn)算,并把運(yùn)算結(jié)構(gòu)提供給Activity展示給用戶。每個(gè)Service都擴(kuò)展自類Serivce。多媒體播放器播放音樂是應(yīng)用Service的一個(gè)非常好的例子。多媒體播放器程序可能含有一個(gè)或多個(gè)Activity,用戶通過這些Activity選擇并播放音樂。然而,音樂回放并不需要一個(gè)Activity來處理,因?yàn)橛脩艨赡軙M魳芬恢辈シ畔氯?,即使退出了播放器去?zhí)行其它程序。為了讓音樂一直播放,多媒體播放器Activity可能會啟動一個(gè)Service在后臺播放音樂。Android系統(tǒng)會使音樂回放Service一直運(yùn)行,即使在啟動這個(gè)Service的Activity退出之后。應(yīng)用程序可以連接到一個(gè)正在運(yùn)行中的Service。當(dāng)連接到一個(gè)Service后,可以使用這個(gè)Service向外暴露的接口與這個(gè)Service進(jìn)行通信。對于上面提到的播放音樂的Service,這個(gè)接口可能允許用戶暫停,停止或重新播放音樂。與activity以及其它組件一樣,Service同樣運(yùn)行在應(yīng)用程序進(jìn)程的主線程中。所以它們不能阻塞其它組件或用戶界面,通常需要為這些Service派生一個(gè)線程執(zhí)行耗時(shí)的任務(wù)。Content(內(nèi)容)提供共享的數(shù)據(jù)存儲。ContentProvider(內(nèi)容提供器)用來管理和共享應(yīng)用程序的數(shù)據(jù)庫。在應(yīng)用程序間,ContentProvider是共享數(shù)據(jù)的***方式。這意味著,你可以配置自己的ContentProvider去存取其他的應(yīng)用程序或者通過其他應(yīng)用程序暴露的ContentProvider去存取它們的數(shù)據(jù)。Android設(shè)備本身包含了幾個(gè)ContentProvider來訪問像聯(lián)系人信息等有用的數(shù)據(jù)庫。你將在第6章學(xué)習(xí)怎樣創(chuàng)建和使用ContentProvider。應(yīng)用程序可以通過ContentProvider訪問其它應(yīng)用程序的一些私有數(shù)據(jù),這是Android提供的一種標(biāo)準(zhǔn)的共享數(shù)據(jù)的機(jī)制。共享的數(shù)據(jù)可以是存儲在文件系統(tǒng)中、SQLite數(shù)據(jù)庫中或其它的一些媒體中。ContentProvider擴(kuò)展自ContentProvider類,通過實(shí)現(xiàn)此類的一組標(biāo)準(zhǔn)的接口可以使其它應(yīng)用程序存取由它控制的數(shù)據(jù)。然而應(yīng)用程序并不會直接調(diào)用ContentProvider中的方法,而是通過類ContentResolver。ContentResolver能夠與任何一個(gè)ContentProvider通信,它與ContentProvider合作管理進(jìn)程間的通信。任何時(shí)候當(dāng)Android系統(tǒng)收到一個(gè)需要某個(gè)組件進(jìn)行處理的請求的時(shí)候,Android會確保處理此請求的組件的宿主進(jìn)程是否已經(jīng)在運(yùn)行,如果沒有,則立即啟動這個(gè)進(jìn)程,當(dāng)請求的組件的宿主進(jìn)程已經(jīng)在運(yùn)行,它會繼續(xù)查看請求的組件是否可以使用,如果不能立即使用,它會創(chuàng)建一個(gè)請求的組件的實(shí)例來響應(yīng)請求Intents(意圖)簡單的消息傳遞框架。使用Intent,你可以在整個(gè)系統(tǒng)內(nèi)廣播消息或者給特定的Activity或者服務(wù)來執(zhí)行你的行為意圖。系統(tǒng)會決定那個(gè)(些)目標(biāo)來執(zhí)行適當(dāng)?shù)男袨?。BroadcastReceivers(廣播接收器)Intent廣播的“消費(fèi)者”。通過創(chuàng)建和注冊一個(gè)BroadcastReceiver,應(yīng)用程序可以監(jiān)聽符合特定條件的廣播的Intent。BroadcastReceiver會自動的啟動你的Android應(yīng)用程序去響應(yīng)新來的Intent。BroadcastReceiver是事件驅(qū)動程序的理想手段。BroadcaseReceiver不執(zhí)行任何任務(wù),僅僅是接受并響應(yīng)廣播通知的一類組件。大部分廣播通知是由系統(tǒng)產(chǎn)生的,例如改變時(shí)區(qū),電池電量低,用戶選擇了一幅圖片或者用戶改變了語言***項(xiàng)。應(yīng)用程序同樣也可以發(fā)送廣播通知,例如通知其他應(yīng)用程序某些數(shù)據(jù)已經(jīng)被下載到設(shè)備上可以使用。一個(gè)應(yīng)用程序可以包含任意數(shù)量的BroadcaseReveiver來響應(yīng)它認(rèn)為很重要的通知。所有的BroadcastReceiver都擴(kuò)展自類BroadcastReceiver。BroadcastReceiver不包含任何用戶界面。然而它們可以啟動一個(gè)Activity以響應(yīng)接受到的信息,或者通過NotificationManager通知用戶??梢酝ㄟ^多種方式使用戶知道有新的通知產(chǎn)生:閃動背景燈、震動設(shè)備、發(fā)出聲音等等。通常程序會在狀態(tài)欄上放置一個(gè)持久的圖標(biāo),用戶可以打開這個(gè)圖標(biāo)并
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度木方模板產(chǎn)業(yè)鏈上下游整合服務(wù)合同4篇
- 2025年度航空航天器研發(fā)與制造合同12篇
- 2025年度長途物流車輛定點(diǎn)清洗保養(yǎng)合同4篇
- 2025年度環(huán)保設(shè)備安裝與污染物減排服務(wù)協(xié)議3篇
- 2025年度木地板原材采購與倉儲管理合同4篇
- 2025年度勞動合同解除補(bǔ)償協(xié)議及離職員工子女教育資助協(xié)議
- 2025年度足療店線上線下整合營銷轉(zhuǎn)讓合同
- 2025年度影視演員經(jīng)紀(jì)服務(wù)與勞動合同
- 二零二五版木工行業(yè)綠色生產(chǎn)標(biāo)準(zhǔn)合同4篇
- 二零二五年度運(yùn)輸合同延誤糾紛處理范本
- 《大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo)》課程標(biāo)準(zhǔn)
- 第23課《出師表》課件(共56張)
- GB/T 3953-2024電工圓銅線
- 發(fā)電機(jī)停電故障應(yīng)急預(yù)案
- 接電的施工方案
- 常用藥物作用及副作用課件
- 幼兒阿拉伯?dāng)?shù)字描紅(0-100)打印版
- 社會組織等級評估報(bào)告模板
- GB/T 12173-2008礦用一般型電氣設(shè)備
- 新媒體研究方法教學(xué)ppt課件(完整版)
- 2020新版?zhèn)€人征信報(bào)告模板
評論
0/150
提交評論