




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.,1,Android系統(tǒng)架構(gòu),.,2,目錄,1.關(guān)于Android 2.Android系統(tǒng)的優(yōu)勢 3.Android的系統(tǒng)架構(gòu) 4.Android系統(tǒng)的四大組件 5.Android的系統(tǒng)包,.,3,1.關(guān)于Android,2007年11月5日谷歌公司宣布與其他一些手機制造廠商、移動運營商、芯片制造商等廠商聯(lián)合組成開發(fā)手機聯(lián)盟(Open Handset Alliance,OHA),并發(fā)布了基于Linux內(nèi)核的開源的手機開發(fā)平臺Android,Android不僅僅是一款手機操作系統(tǒng),而更像是一個對任何開發(fā)人員開放的移動終端開發(fā)平臺。該平臺是由操作系統(tǒng)、中間件、用戶界面以及應(yīng)用程序組成,并且對外開
2、放源代碼,一經(jīng)推出便引起世界各地開源愛好者的關(guān)注。同時,谷歌與各大廠商的大力合作也大大的促進了Android新的手機的業(yè)務(wù)的不斷推出,同時也使得Android更加的標準。,.,4,1.關(guān)于Android,第一款搭載Android操作系統(tǒng)的手機應(yīng)該是T-mobile G1手機了,該款手機是2008年9月22日由美國移動運營商T-mobile USA在紐約發(fā)布的,該款手機由臺灣宏達電子HTC制造,支持WCDMA/HSPA網(wǎng)絡(luò),理論下載速率到達7.2Mbit/s,并支持Wi-Fi功能。 Android用甜點作為它們系統(tǒng)版本的代號的命名方法開始于 Android 1.5 發(fā)布的時候。作為每個版本代表的
3、甜點的尺寸越變越大,然后按照26個字母數(shù)序:,.,5,1.關(guān)于Android,紙杯蛋糕Android1.5-upcake,甜甜圈Android1.6 Donut,松餅Android2.0 Eclair,凍酸奶Android2.2 Froyo,姜餅Android2.3 Gingerbread,蜂巢Android3.0,3.1,3.2 Honeycomb,冰激凌三明治Android4.0 Ice Cream Sandwich,根據(jù)最新消息新一代Android版本將命名為果凍豆(Android5.0-Jelly Bean),2009 . 5,2009.9 2009.10 2010.1 2010.12
4、 2011.5 2011.10,.,6,2.Android系統(tǒng)的優(yōu)勢,.,7,2.Android系統(tǒng)的優(yōu)勢,(1)良好的開放性平臺 Android系統(tǒng)最震撼人心之處在于它的開放性和服務(wù)免費。 對第三方軟件完全開放的平臺, 開發(fā)者在為其開發(fā)程序時擁有更大 的自由度,突破了iphone等只能添 加為數(shù)不多的固定軟件的枷鎖。 開放的海量市場 網(wǎng)站下載: 安卓網(wǎng),機峰網(wǎng),91助手等 支持所有.apk文件,.,8,2.Android系統(tǒng)的優(yōu)勢,(2)個性化界面設(shè)置 多種插件,快捷方式 和文件夾,打造個性 化的屏幕以滿足個性需求。 輕松添加,得心應(yīng)手,您可以隨意更新排列主屏幕項目,.,9,2.Androi
5、d系統(tǒng)的優(yōu)勢,(3)與google應(yīng)用的無縫結(jié)合 由于android系統(tǒng)是由google主導(dǎo) 研發(fā)的,因此android操作系統(tǒng)手機 將無縫結(jié)合這些優(yōu)秀的Google互聯(lián)服務(wù),如大家熟知的Google Map,Google Search,Gmail等,在手機上都可以使用。 支持google全方位服務(wù),豐富最新的網(wǎng)絡(luò)體驗。,.,10,3.Android的系統(tǒng)架構(gòu),.,11,3.Android的系統(tǒng)架構(gòu),從上圖中可以看出,Android系統(tǒng)架構(gòu)為四層結(jié)構(gòu),從上層到下層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層以及Linux內(nèi)核層,分別介紹如下: 1)應(yīng)用程序?qū)?Android平臺不僅僅是操作系
6、統(tǒng),也包含了許多應(yīng)用程序,諸如SMS短信客戶端程序、電話撥號程序、圖片瀏覽器、Web瀏覽器等應(yīng)用程序。這些應(yīng)用程序都是用Java語言編寫的,并且這些應(yīng)用程序都是可以被開發(fā)人員開發(fā)的其他應(yīng)用程序所替換,這點不同于其他手機操作系統(tǒng)固化在系統(tǒng)內(nèi)部的系統(tǒng)軟件,更加靈活和個性化。,.,12,3.Android的系統(tǒng)架構(gòu),2)應(yīng)用程序框架層 應(yīng)用程序框架層是我們從事Android開發(fā)的基礎(chǔ),很多核心應(yīng)用程序也是通過這一層來實現(xiàn)其核心功能的,該層簡化了組件的重用,開發(fā)人員可以直接使用其提供的組件來進行快速的應(yīng)用程序開發(fā),也可以通過繼承而實現(xiàn)個性化的拓展。 a) Activity Manager(活動管理器)
7、 管理各個應(yīng)用程序生命周期以及通常的導(dǎo)航回退功能 b) Window Manager(窗口管理器) 管理所有的窗口程序 c) Content Provider(內(nèi)容提供器) 使不同應(yīng)用程序之間存取或者分享數(shù)據(jù),.,13,3.Android的系統(tǒng)架構(gòu),d) View System(視圖系統(tǒng)) 構(gòu)建應(yīng)用程序的基本組件 e) Notification Manager(通告管理器) 使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息 f) Package Manager(包管理器) Android系統(tǒng)內(nèi)的程序管理 g)Telephony Manager(電話管理器) 管理所有的移動設(shè)備功能 h)Resou
8、rce Manager(資源管理器) 提供應(yīng)用程序使用的各種非代碼資源,如本地化字符串、圖片、布局文件、顏色文件等,.,14,3.Android的系統(tǒng)架構(gòu),i)Location Manager(位置管理器) 提供位置服務(wù) j)XMPP Service(XMPP服務(wù)) 提供Google Talk服務(wù) 3)系統(tǒng)運行庫層 從圖中可以看出,系統(tǒng)運行庫層可以分成兩部分,分別是系統(tǒng)庫和Android運行時,分別介紹如下: a)系統(tǒng)庫 系統(tǒng)庫是應(yīng)用程序框架的支撐,是連接應(yīng)用程序框架層與Linux內(nèi)核層的重要紐帶。其主要分為如下幾個:,.,15,3.Android的系統(tǒng)架構(gòu),Surface Manager:
9、執(zhí)行多個應(yīng)用程序時候,負責管理顯示與存取操作間的互動,另外也負責2D繪圖與3D繪圖進行顯示合成。 Media Framework: 多媒體庫,基于PacketVideo OpenCore;支持多種常用的音頻、視頻格式錄制和回放,編碼格式包括MPEG4、MP3、H.264、AAC、ARM。 SQLite: 小型的關(guān)系型數(shù)據(jù)庫引擎 OpenGL|ES: 根據(jù)OpenGL ES 1.0API標準實現(xiàn)的3D繪圖函數(shù)庫,.,16,3.Android的系統(tǒng)架構(gòu),FreeType: 提供點陣字與向量字的描繪與顯示 WebKit: 一套網(wǎng)頁瀏覽器的軟件引擎 SGL: 底層的2D圖形渲染引擎 SSL: 在And
10、roid上通信過程中實現(xiàn)握手 Libc: 從BSD繼承來的標準C系統(tǒng)函數(shù)庫,專門為基于embedded linux的設(shè)備定制,.,17,3.Android的系統(tǒng)架構(gòu),b)Android runtime Android應(yīng)用程序采用Java語言編寫,程序在Android runtime中執(zhí)行,其運行時分為核心庫和Dalvik虛擬機兩部分。 核心庫 核心庫提供了Java語言API中的大多數(shù)功能,同時也包含了Android的一些核心API,如android.os、android.media等等。 Dalvik虛擬機 Android程序不同于J2me程序,每個Android應(yīng)用程序都有一個專有的進程,并
11、且不是多個程序運行在一個虛擬機中,而是每個Android程序都有一個Dalvik虛擬機的實例,并在該實例,.,18,3.Android的系統(tǒng)架構(gòu),中執(zhí)行。Dalvik虛擬機是一種基于寄存器的Java虛擬機,而不是傳統(tǒng)的基于棧的虛擬機,并進行了內(nèi)存資源使用的優(yōu)化以及支持多個虛擬機的特點。需要注意的是,不同于J2me,Android程序在虛擬機中執(zhí)行的并非編譯后的字節(jié)碼,而是通過轉(zhuǎn)換工具dx將Java字節(jié)碼轉(zhuǎn)成dex格式的中間碼。 4)Linux內(nèi)核層 Android是基于Linux2.6內(nèi)核,其核心系統(tǒng)服務(wù)如安全性、內(nèi)存管理、進程管理、網(wǎng)路協(xié)議以及驅(qū)動模型都依賴于Linux內(nèi)核。,.,19,4.
12、Android系統(tǒng)的四大組件,在Android中,一個應(yīng)用程序可以使用其它應(yīng)用程序的組件,這是Android系統(tǒng)一個非常重要的特性。在需要的時候Android會啟動另外一個程序的部分代碼,這部分代碼實現(xiàn)了你請求執(zhí)行的動作的功能,而不是在你的應(yīng)用程序中直接包含另外一個應(yīng)用程序的代碼。為了實現(xiàn)這樣的功能,Android系統(tǒng)必須能夠在其它應(yīng)用程序有請求的時候啟動一個應(yīng)用程序進程并實例化部分java對象。因此,Android應(yīng)用程序包含一些運行應(yīng)用程序所必須的能夠被Android系統(tǒng)實例化的組件。這些組件主要包括以下四種類型:,.,20,4.Android系統(tǒng)的四大組件,1)Activity 一個Ac
13、tivity通常展現(xiàn)為一個可視化的用戶界面。每個Activity都會有一個用于繪制用戶界面的窗口。通常這樣一個窗口會填充整個屏幕,當然這個窗口也可以比屏幕小并漂浮在其他窗口之上。展示Activity窗口的可視化內(nèi)容區(qū)域是一些具有層次關(guān)系的視圖,而視圖則是由類View的子類表示的。視圖就是Activity與用戶交互的接 口。例如,一個顯示圖片的視圖,當用戶單擊的時候它可能會啟動一個動作。Android有許多開發(fā)人員可以直接使用的視圖,包括按鈕,文本域,滾動條,菜 單,復(fù)選框等。 通過調(diào)用Activity.setContentView()方法來設(shè)置展現(xiàn)Activity的窗口的視圖。內(nèi)容視圖則是視圖
14、層次結(jié)構(gòu)中的根節(jié)點視圖。,.,21,4.Android系統(tǒng)的四大組件,2)Service service沒有用戶界面,但它會在后臺一直運行。例如,service可能在用戶處理其它事情的時候播放背景音樂,或者從網(wǎng)絡(luò)上獲取數(shù)據(jù),或者執(zhí)行一些運算,并把運算結(jié)構(gòu)提供給Activity展示給用戶。每個service都擴展自類Serivce。 應(yīng)用程序可以連接到一個正在運行中的service。當連接到一個service后,可以使用這個service向外暴露的接口與這個service進行通信。對于上面提到的播放音樂的service,這個接口可能允許用戶暫停,停止或重新播放音樂。 與activity以及其它組
15、件一樣,service同樣運行在應(yīng)用程序進程的主線程中。所以它們不能阻塞其它組件或用戶界面,通常需要為這些service派生一個線程執(zhí)行耗時的任務(wù)。,.,22,4.Android系統(tǒng)的四大組件,3)Broadcase receiver broadcase receiver不執(zhí)行任何任務(wù),僅僅是接受并響應(yīng)廣播通知的一類組件。大部分廣播通知是由系統(tǒng)產(chǎn)生的,例如改變時區(qū),電池電量低,用戶選擇了一幅圖片或 者用戶改變了語言首選項。應(yīng)用程序同樣也可以發(fā)送廣播通知,例如通知其他應(yīng)用程序某些數(shù)據(jù)已經(jīng)被下載到設(shè)備上可以使用。 broadcast receiver不包含任何用戶界面。然而它們可以啟動一個acti
16、vity以響應(yīng)接受到的信息,或者通過NotificationManager通知用 戶??梢酝ㄟ^多種方式使用戶知道有新的通知產(chǎn)生:閃動背景燈、震動設(shè)備、發(fā)出聲音等等。通常程序會在狀態(tài)欄上放置一個持久的圖標,用戶可以打開這個圖標并 讀取通知信息。,.,23,4.Android系統(tǒng)的四大組件,4)Content provider 應(yīng)用程序可以通過content provider訪問其它應(yīng)用程序的一些私有數(shù)據(jù),這是Android提供的一種標準的共享數(shù)據(jù)的機制。共享的數(shù)據(jù)可以是存儲在文件系統(tǒng)中、SQLite 數(shù)據(jù)庫中或其它的一些媒體中。content provider擴展自ContentProvider
17、類,通過實現(xiàn)此類的一組標準的接口可以使其它應(yīng)用程序存取由它控制的數(shù)據(jù)。然而應(yīng)用程序并不會直接 調(diào)用ContentProvider中的方法,而是通過類ContentResolver。ContentResolver能夠與任何一個 ContentProvider通信,它與ContentProvider合作管理進程間的通信。,.,24,4.Android系統(tǒng)的四大組件,備注: 任何時候當Android系統(tǒng)收到一個需要某個組件進行處理的請求的時候,Android會確保處理此請求的組件的宿主進程是否已經(jīng)在運行,如果沒有,則立即啟動這個進程,當請求的組件的宿主進程已經(jīng)在運行,它會繼續(xù)查看請求的組件是否可以使
18、用,如果不能立即使用,它會創(chuàng)建一個請求的組件的實例來響應(yīng)請求。,.,25,5.Android的系統(tǒng)包,開發(fā)Android應(yīng)用程序基本上使用的都是Java語言。那么要想靈活的應(yīng)用這一系統(tǒng),就應(yīng)當熟悉其中的Android Java包的各種功能。一般的JAVA應(yīng)用中,如果需用引用基礎(chǔ)類庫,通常需要使用如下的方式: import javax.swing.*; 以上代碼表示了引用JAVA的GUI組件Swing,javax.swing即JAVA中的一個包。 Adroid提供一些擴展的JAVA類庫,類庫分為若干個包,每個包中包含若干個類。例如:在Android中計算器是一個相對簡單的程序,其入口程序文件為C
19、alculator.java,.,26,5.Android的系統(tǒng)包,Android.app:提供高層的程序模型,提供基本的運行環(huán)境。 Android.content:包含各種對設(shè)備上的數(shù)據(jù)進行訪問和發(fā)布的類。 Android.database:通過內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫。 Android.graphics:底層的圖形庫,包含畫布,顏色過濾,點,矩形,可以將他們直接繪制到屏幕上。 Android.location:定義android的位置和相關(guān)服務(wù)的類。 Android.media:提供一些管理多種音頻,視頻的媒體接口。 A:提供幫助網(wǎng)絡(luò)訪問的類,除了普通的.*APIs. Android.animation:提供動畫系統(tǒng)的功能屬性。,.,27,5.Android的系統(tǒng)包,Android.app:包含高層次的類,封裝整體的android應(yīng)用程序模型。 Android.appwidget:包含必要的組件,以創(chuàng)建“應(yīng)用程序部件”,用戶可以嵌入在其他應(yīng)用程序快
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新創(chuàng)業(yè)陶藝吧計劃書
- 品行養(yǎng)成教育主題班會
- 農(nóng)業(yè)生態(tài)建設(shè)土地流轉(zhuǎn)合同
- 大學(xué)物理學(xué) 第一卷 經(jīng)典物理基礎(chǔ) 第6版 課件 9 光的干涉
- 數(shù)據(jù)設(shè)備租賃合同
- 卵圓孔未閉術(shù)后護理措施
- 工作中的電氣安全
- 幼兒園公開課課件
- 兒科相關(guān)疾病護理帶教
- 阿克蘇工業(yè)職業(yè)技術(shù)學(xué)院《商務(wù)英語函電》2023-2024學(xué)年第一學(xué)期期末試卷
- 教學(xué)第七講-犯罪的故意和過失課件
- 《鄭和下西洋》-完整版課件
- 換料的記錄表
- 國學(xué)智慧爾雅課期末考試題庫答案2022
- 三級醫(yī)院醫(yī)療服務(wù)能力標準(綜合醫(yī)院)
- 學(xué)校食堂操作流程圖
- DB11-T 1834-2021城市道路工程施工技術(shù)規(guī)程
- 配電網(wǎng)工程典型問題及解析(第三部分)課件(PPT 49頁)
- 彩鋼棚專項施工措施方案
- DB11_T1945-2021 屋面防水技術(shù)標準(高清最新版)
- 2022《漁業(yè)行政處罰規(guī)定(2022修正)》全文學(xué)習(xí)材料PPT課件(帶內(nèi)容)
評論
0/150
提交評論