下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Android軟件體系結(jié)構(gòu)Android平臺(tái)大的方面的層次可以劃分成三個(gè)層次,包括一個(gè)操作系統(tǒng),中間件和應(yīng)用程序,Android的系統(tǒng)框架圖如下:圖中的軟件層次自上而下分成4個(gè)層次:1、 應(yīng)用程序(Application)2、 用用程序框架(ApplicationFramework)3、 各種類(lèi)庫(kù)(Libraries)和android運(yùn)行時(shí)(AdnoridRuntime)4、 操作系統(tǒng)(OS)一、應(yīng)用程序應(yīng)用層是和用戶交互的一個(gè)層次,用戶可以看得見(jiàn)的一些應(yīng)用,用戶可以操作。這類(lèi)應(yīng)用基本都是通過(guò)Java語(yǔ)言編寫(xiě)的獨(dú)立的能夠完成某些功能的應(yīng)用程序。Android本身提供了桌面(Home),聯(lián)系人(Contacts),撥打電話(Phone),瀏覽器(Browers)等很多基本的應(yīng)用程序。開(kāi)發(fā)人員可以使用應(yīng)用框架提供的API編寫(xiě)自己的應(yīng)用程序,普通開(kāi)發(fā)人員要做的事情就是開(kāi)應(yīng)用層的程序提供該廣大消費(fèi)者使用。應(yīng)用程序框架(ApplicationFramework)普通開(kāi)發(fā)者可以使用Android基本應(yīng)用程序使用的系統(tǒng)API,android應(yīng)用框架中的各個(gè)模塊都可以被復(fù)用,各種服務(wù)也可以被復(fù)用,理解了這個(gè)機(jī)制,開(kāi)發(fā)人員可以更好的更輕松的開(kāi)發(fā)出優(yōu)秀的android應(yīng)用。開(kāi)發(fā)過(guò)程中常用到的基本框架組件如下:1、一組View(UI組件),這些UI組件包括Button(按鈕),EidtView(文本框),TextView(標(biāo)簽),List(列表)等等,靈活運(yùn)用這些組件可以快速方便的創(chuàng)建良好的用戶交互界面。2、 ContentProviders(內(nèi)容提供者),聽(tīng)起來(lái)有點(diǎn)抽象,通俗的理解ContentProvider就是提供一種服務(wù),通過(guò)這種服務(wù)應(yīng)用程序之間可以實(shí)現(xiàn)數(shù)據(jù)的互相訪問(wèn)和共享,比如通訊錄的存儲(chǔ)就使用了這種服務(wù),其它應(yīng)用也可以訪問(wèn)通訊錄中存儲(chǔ)的聯(lián)系人信息。3、 ResourceManager顧名思義就是資源管理,android中的資源很多包括圖片,用戶界面(Layoutxml),字體,顏色,UI組件的Id等等都可以稱(chēng)之為資源,這些豐富的資源,都是通過(guò)ResourceManager來(lái)統(tǒng)一進(jìn)行管理。4、 NotificationManager(消息通知管理),它在不影響用戶正常操作和使用設(shè)備的時(shí)候在狀態(tài)欄上提供消息的提示。比如有短信來(lái)的時(shí)候,android自動(dòng)會(huì)將這個(gè)消息提示在狀態(tài)欄上,用戶可以及時(shí)的看到。5、 ActivityManager(活動(dòng)管理),Activity管理著應(yīng)用程序的生命周期,并且控制著應(yīng)用的導(dǎo)航,扮演控制器的角色。每個(gè)Activity類(lèi)似于Windows應(yīng)用中的一個(gè)wendow。一般的應(yīng)用都是通過(guò)一個(gè)個(gè)Activity交互構(gòu)成的。6、 WindowManager(窗口管理),管理所有啟動(dòng)的窗口。7、 LocationManager(位置管理),用來(lái)管理地圖服務(wù)的相關(guān)功能。8、 TelephoneyManager(電話管理),用來(lái)管理有關(guān)的電話的相關(guān)功能。9、 PackageManager(包管理),管理所有的安裝在android系統(tǒng)內(nèi)的應(yīng)用程序。庫(kù)(Libraries)和運(yùn)行環(huán)境(RunTime)這部分內(nèi)容開(kāi)始涉及底層,開(kāi)發(fā)普通的應(yīng)用不會(huì)直接對(duì)這個(gè)層進(jìn)行操作。這層中包含了一組類(lèi)庫(kù)(Libraries)和運(yùn)行時(shí)(RunTime),1、 系統(tǒng)C庫(kù)(libc),一個(gè)從BSD集成來(lái)的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫(kù)(libc)它是專(zhuān)門(mén)為基于嵌入式Linux的設(shè)備定制的。2、 媒體庫(kù)(MediaFramework),基于PackeVideoOpenCore,該庫(kù)支持多種常用的音頻,視頻格式以及回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括:MPEG4、H.264,MP3、AAC、AMR、JPG、PNGo3、 SurfaceManager對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用提供2D,3D圖層的無(wú)縫融合。4、 WebKit,一個(gè)最新的web瀏覽器引擎,用來(lái)支持Andiroid瀏覽器或者嵌入的web視圖。5、 SGL底層的2D圖形引擎。6、 OPENGL|ES,基于OpenGLES1.0APIs實(shí)現(xiàn),該庫(kù)可以使用硬件3D加速或者使用高度優(yōu)化的3D軟加速。7、FreeType,位圖(bitmap)和適量(vector)字圖顯示支持。8、 SQLite,一個(gè)對(duì)所有應(yīng)用程序可用,功能強(qiáng)大的輕量級(jí)關(guān)系型數(shù)據(jù)庫(kù)引擎。9、 CoreLibraries該核心庫(kù)提供了Java編程語(yǔ)言核心庫(kù)的大多數(shù)功能。10、DalvikVM,android平臺(tái)的一個(gè)虛擬機(jī),它相當(dāng)于PC中Java的虛擬機(jī)JVM。四、操作系統(tǒng)(OS)Android的核心系統(tǒng)服務(wù)依賴(lài)于Linux2.6內(nèi)核,操作系統(tǒng)為Android提供的服務(wù)包括:1、 安全性(Security)。2、 內(nèi)存管理(MemoryManagement)3、 進(jìn)程管理(ProcessManagement)4、 網(wǎng)絡(luò)堆棧(NetworkStack)5、 驅(qū)動(dòng)程序模型(DriverModel)包含以下這些常規(guī)的驅(qū)動(dòng)程序:DisplayDriverKeypadDriverCameraDriverWiFiDriverFlashMemoryDriverAudioDriverBinder(IPC)DriverPowerManagement對(duì)android的整體框架有一定的了解后對(duì)與理解android的一些機(jī)制和應(yīng)用開(kāi)發(fā)有很大的幫助,只有了解了android框架才能更好的使用android提供的功能和服務(wù)。從而使學(xué)習(xí)android應(yīng)用開(kāi)發(fā)少走彎路。Android下HelloWorld架構(gòu)分析首先,建立一個(gè)類(lèi)HelloWorldActivity:publicclassHelloWordActivityextendsActivity{?OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);setTitle("HelloWorld");}在這個(gè)類(lèi)中,我們看到了我們寫(xiě)的類(lèi)繼承了Activity這個(gè)類(lèi),Activity這個(gè)在Android中是非常常用的。比較容易理解的說(shuō)話,一個(gè)Activity就相當(dāng)于手機(jī)屏幕的一屏。如果把手機(jī)比作瀏覽器,那個(gè)Activity就相當(dāng)于一個(gè)網(wǎng)頁(yè);在Activity中可以一些控件(view),并能夠?qū)@些控件做一些相應(yīng)的處理。一個(gè)android的程序通常會(huì)由多個(gè)Activity組成,不同的Activity之間可以跳轉(zhuǎn);和網(wǎng)頁(yè)的跳轉(zhuǎn)是類(lèi)似的。而且Activity之間的跳轉(zhuǎn)是可以有返回值的。比如從Activityl跳轉(zhuǎn)到Activity2,Activity2結(jié)束后,有可能會(huì)返回一個(gè)值給Activityl.Activity生命周期是由android的系統(tǒng)進(jìn)行維護(hù)的。當(dāng)實(shí)現(xiàn)自己的Activity的時(shí)候,一般都需要重載onCreate這個(gè)方法來(lái)實(shí)現(xiàn)添加控件,處理控件的相關(guān)功能等。setContentView(R.layout.main);就是實(shí)現(xiàn)控件的添加布局(視圖)。視圖由R類(lèi)負(fù)責(zé)尋找。而R.layout.main會(huì)指向res/layout/main.xml這個(gè)配置文件,在這個(gè)配置文件中,可以添加控件,并對(duì)控件進(jìn)行布局。下面我們講一下android工程的結(jié)構(gòu),會(huì)便于理解這個(gè)問(wèn)題。src下面是自己的寫(xiě)的代碼,同時(shí)我們可以看到,還有一個(gè)gen目錄,在該目錄下面有個(gè)R.java的文件。R文件由ADT自動(dòng)生成,程序員不需要也不要去修改它,R文件負(fù)責(zé)調(diào)用應(yīng)用程序中的非代碼資源。在R文件中每一個(gè)資源文件都會(huì)對(duì)應(yīng)一個(gè)整數(shù)。如下所示:/HelloWordJ西5FC[>org.terryj浮gen[GeneratedJavaFiles]j田org.terry[>[7]R.java[>&Android3.0@5?assetsJ&resj白drawable-hdp
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)脫氧膽酸鈉行業(yè)供需前景與投資動(dòng)態(tài)預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)膠原蛋白產(chǎn)業(yè)深度分析及投資價(jià)值研究報(bào)告版
- 2024-2030年中國(guó)耐油橡膠板行業(yè)十三五需求及投資戰(zhàn)略分析報(bào)告
- 2024-2030年中國(guó)維藥高山黃芪藥材行業(yè)供需狀況發(fā)展戰(zhàn)略規(guī)劃分析報(bào)告
- 2024-2030年中國(guó)線棒行業(yè)發(fā)展現(xiàn)狀及投資需求分析報(bào)告
- 2024-2030年中國(guó)空氣清新氣溫項(xiàng)目可行性研究報(bào)告
- 2024-2030年中國(guó)社區(qū)醫(yī)療行業(yè)發(fā)展創(chuàng)新模式及投資規(guī)劃分析報(bào)告
- 2024-2030年中國(guó)硅酸乙酯行業(yè)十三五需求及投資風(fēng)險(xiǎn)研究報(bào)告版
- 2024-2030年中國(guó)礦用人員監(jiān)測(cè)產(chǎn)業(yè)未來(lái)發(fā)展趨勢(shì)及投資策略分析報(bào)告
- 2024年繪圖、計(jì)算及測(cè)量?jī)x器項(xiàng)目評(píng)價(jià)分析報(bào)告
- 2024年廣東省深圳市中考?xì)v史試題
- 2024至2030年全球及中國(guó)強(qiáng)光手電筒行業(yè)發(fā)展現(xiàn)狀調(diào)研及投資前景分析報(bào)告
- 2024年秋新教材北師大版一年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)課件
- 加氣站質(zhì)量管理手冊(cè)樣本
- 2019版外研社高中英語(yǔ)必選擇性必修一-四單詞
- 古樹(shù)名木養(yǎng)護(hù)復(fù)壯技術(shù)規(guī)范
- 2025年日歷英文版縱向排版周一開(kāi)始
- S7-1200PLC技術(shù)及應(yīng)用 課件 項(xiàng)目17 步進(jìn)電機(jī)控制
- 《生物技術(shù)制藥》課程介紹與教學(xué)大綱
- 《現(xiàn)代農(nóng)業(yè)技術(shù)推廣》課件-第七組 農(nóng)民問(wèn)題專(zhuān)題調(diào)研
- 第30課 家居收納技巧 課件 2023-2024學(xué)年蘇教版初中勞動(dòng)技術(shù)七年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論