android開發(fā)關(guān)鍵技術(shù)_第1頁(yè)
android開發(fā)關(guān)鍵技術(shù)_第2頁(yè)
android開發(fā)關(guān)鍵技術(shù)_第3頁(yè)
android開發(fā)關(guān)鍵技術(shù)_第4頁(yè)
android開發(fā)關(guān)鍵技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Android開發(fā)技術(shù)研究學(xué)號(hào):110085208027學(xué)生所在學(xué)院:信息工程學(xué)院學(xué)生姓名:陳燁任課教師:楊詞慧教師所在學(xué)院:信息工程學(xué)院2012年6月Android開發(fā)技術(shù)研究陳燁南昌航空大學(xué)摘要Android平臺(tái)是Google推出的新一代智能手機(jī)平臺(tái)。 本論文深入討論Android平臺(tái)的系統(tǒng)架構(gòu),并詳細(xì)介紹了在 Windows系統(tǒng)下Android開發(fā)環(huán)境的搭建。關(guān)鍵詞:GoogleAndroid;系統(tǒng)架構(gòu);環(huán)境搭建引言Android一詞的本義是指機(jī)器人,同時(shí)也是Google于2007年11月5日牽手34家移動(dòng)技術(shù)和無(wú)線應(yīng)用領(lǐng)域的領(lǐng)軍企業(yè)聯(lián)合組成的開發(fā)聯(lián)盟( OpenHandsetAllianee)宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。其開放性保證該平臺(tái)不存在任何阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的阻礙,開發(fā)人員在該平臺(tái)開發(fā)的所有應(yīng)用程序,必須是使用java語(yǔ)言編寫的,在AndroidRuntime的Dalivk虛擬機(jī)上運(yùn)行的。Android系統(tǒng)架構(gòu)Android基本上就是一種嵌入式Linux系統(tǒng)再加上一些重要的手機(jī)應(yīng)用開發(fā)軟件,如果深入研究其系統(tǒng)架構(gòu),其整體自底向上由 4個(gè)主要層次構(gòu)成,包括LinuxKernel(Linux內(nèi)核層)、Library(函數(shù)庫(kù))和AndroidRuntime(Android運(yùn)行時(shí)庫(kù))、ApplieationFramework(應(yīng)用軟件架構(gòu))、Applieation(應(yīng)用程序),如圖1所示。圖1、Android系統(tǒng)架構(gòu)1)LinuxKernel(Linux內(nèi)核層):Android基于Linux2.6提供核心系統(tǒng)服務(wù),負(fù)責(zé)硬件的驅(qū)動(dòng)程序、網(wǎng)絡(luò)堆棧、電源、系統(tǒng)安全機(jī)制、進(jìn)程管理以及內(nèi)存管理等功能。LinuxKernel也作為硬件和軟件之間的抽象層,它隱藏具體硬件細(xì)節(jié)而為上層提供統(tǒng)一的服務(wù),分層的好處就是使用下層提供的服務(wù)而為上層提供統(tǒng)一的服務(wù),屏蔽本層及以下層的差異,當(dāng)本層及以下層發(fā)生了變化不會(huì)影響到上層。特別的是,這個(gè)內(nèi)核操作系統(tǒng)并非GUN/Linux的,所以其系統(tǒng)庫(kù)、系統(tǒng)初始化和編程接口都喝標(biāo)準(zhǔn)的Linux系統(tǒng)有所不同。它沒(méi)有采用虛擬內(nèi)存文件系統(tǒng),而是采用YAFFS2文件系統(tǒng)。(2) Library(函數(shù)庫(kù))和AndroidRuntime(Andriod運(yùn)行時(shí)庫(kù)):Library(函數(shù)庫(kù))由大多數(shù)開放源代碼的函數(shù)庫(kù)組成,包含一個(gè)C/C++庫(kù)的集合,供Android系統(tǒng)的各個(gè)組件使用。這些功能通過(guò)Android的應(yīng)用程序框架(ApplicationFramework)展示給開發(fā)者,例如準(zhǔn)C函數(shù)庫(kù)Libc、OpenSSL、SQLite等;網(wǎng)頁(yè)函數(shù)庫(kù)WebKit負(fù)責(zé)Android網(wǎng)頁(yè)瀏覽器的運(yùn)行;媒體庫(kù)基于PacketVideo的OpenCORE,這些庫(kù)支持播放和錄制許多流行的音頻和視頻格式,以及靜態(tài)圖像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPGPNG;界面管理,管理訪問(wèn)顯示子系統(tǒng)和無(wú)縫組合多個(gè)應(yīng)用程序的二維和三維圖像層; LibWebCore,新式的Web瀏覽器引擎,驅(qū)動(dòng)Android瀏覽器和內(nèi)嵌的Web視圖;SGL,基本的2D圖形引擎;3D庫(kù),基于OpenGLES1.0APIs的實(shí)現(xiàn)。所有應(yīng)用程序都可以使用的強(qiáng)大而輕量級(jí)的關(guān)系數(shù)據(jù)庫(kù)引擎。AndroidRuntime(Android運(yùn)行時(shí)庫(kù))是和Library(函數(shù)庫(kù))并行的,在此提供的Android特有的Java內(nèi)核函數(shù)庫(kù)與可轉(zhuǎn)換的Java運(yùn)行碼Bytecode,為Android專屬的DalvikExecutable(.dex)文件格式的dalvik虛擬機(jī),可以通過(guò)Java語(yǔ)言編寫Android應(yīng)用程序,并在Android平臺(tái)上同時(shí)運(yùn)行多個(gè)Java應(yīng)用程序。Dalvik虛擬機(jī)依賴于Linux內(nèi)核提供的基本功能,如線程和底層內(nèi)存管理。Dalvik虛擬機(jī)可執(zhí)行文件格式是.dex,dex格式是專為Dalvik設(shè)計(jì)的一種壓縮格式,適合內(nèi)存和處理器速度有限的系統(tǒng)。大多數(shù)虛擬機(jī)包括JVM都是基于棧的,而Dalvik虛擬機(jī)基于寄存器的。(3) ApplicationFramework(應(yīng)用軟件架構(gòu)):它是所有Android重點(diǎn)應(yīng)用程序FramworkAPI的總集合,主要的目的是讓程序開發(fā)者可以更方便地使用這些常用的應(yīng)用程序進(jìn)行設(shè)計(jì)架構(gòu),以便更快速地開發(fā) Android應(yīng)用程序。而這些常見的API有顯示功能,如消息方塊、條列消息、按鈕、內(nèi)嵌式瀏覽器等;消息提供功能,如訪問(wèn)信息、分享信息;資源管理功能,如圖形、地方化字符串、布局文件等;提供消息功能,主要用來(lái)顯示警告消息、特別是當(dāng)使用者操作錯(cuò)誤時(shí),等其它功能。所有的應(yīng)用程序其實(shí)是一組服務(wù)和系統(tǒng),包括視圖,豐富的、可擴(kuò)展的視圖集合,可用于構(gòu)建一個(gè)應(yīng)用程序。包括列表、網(wǎng)格、文本框、按鈕,甚至是內(nèi)嵌的網(wǎng)頁(yè)瀏覽器。內(nèi)容提供者,使應(yīng)用程序能訪問(wèn)其它應(yīng)用程序的數(shù)據(jù),或者共享自己的數(shù)據(jù);資源管理器,提供訪問(wèn)非代碼資源,如本地化字符串、圖像和布局文件;通知管理器,使所有的應(yīng)用程序能夠在狀態(tài)欄顯示自定義警告; 活動(dòng)管理器,管理應(yīng)用程序生命周期,提供通用的導(dǎo)航回退功能。(4)Application(應(yīng)用程序):最上層的應(yīng)用程序都是用Java語(yǔ)言開發(fā)的應(yīng)用程序,例如GoogleMaps、E_mail、即時(shí)通信工具、計(jì)算機(jī)、瀏覽器、通訊本、MP3播放器等。Windows下Android開發(fā)環(huán)境的搭建在windows下開始Android開發(fā)之旅前,首先要進(jìn)行環(huán)境搭建,以下將著重介紹這一過(guò)程1、JDK的下載與安裝Android平臺(tái)下應(yīng)用程序的開發(fā)時(shí)采用Java語(yǔ)言的,所以首先需要下載并安裝JDKo打開瀏覽器,在地址欄輸入如下地址并訪問(wèn):/javase/downloads/index.jsp打開后的頁(yè)面如圖2所示?!鯰MH■砂 ir軋”口圖2、JDK下載界面單擊如圖2所示的“JDKDownload”按鈕即可進(jìn)入下載界面,選擇操作系統(tǒng)平臺(tái)后,就可以下載JDK了,目前最新的JDK版本為JDK7Update5o雙擊并運(yùn)行下載好的JDK安裝文件,按照提示將JDK安裝到指定的文件夾中,我將它安裝到C:\ProgramFiles\java\jdk1.7.0_05目錄下。最重要的是進(jìn)行環(huán)境變量的配置,步驟如下:我的電腦 ->屬性->高級(jí)->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量:JAVA_HOME值為:C:\ProgramFiles\java\jdk1.7.0_05;PATH值為:C:\ProgramFiles\java\jdk1.7.0_05\bin;CLASSPATH值為:C:\ProgramFiles\java\jdk1.7.0_05\jre\lib;2、Eclipse的下載與安裝打開瀏覽器,在地址欄輸入 /downloads/,打開后的頁(yè)面如圖3所示。在下載界面找到EclispeClassic4.2,單擊下載鏈接,將Eclipse下載到電腦上。Eclipse不需要安裝,只需將下載到電腦上的壓縮包解壓到硬盤上某個(gè)目錄即可。iftceHbfi-vH'X) 工■如wM*倉(cāng) hn-nLp Ir. FJW+UIWHf.aiftm(.T?rniSIKTfc£IWT?冒―丈Btl-TC f r■:葉血血 ft0-:翠-Mgjl■iEiGlrZJL電]■**??■BT7B|圖3、Eclipse下載頁(yè)面3、AndroidSDK安裝在AndroidDevelopers下載android-sdk_r18-windows.zip,下載完成后解壓至U任意路徑。運(yùn)行SDKManager.exe程序?qū)⒆詣?dòng)檢測(cè)是否有更新的SDK版本可供下載,選擇AvailablePackages選擇希望安裝的SDK及其文檔或者其它包,點(diǎn)擊InstallationSelectedAcceptAll、InstallAccepted,開始下載安裝所選包。4、ADT的安裝ADT實(shí)際上是一個(gè)工具,它可以連接sdk和Eclipse,幫助Eclipse找到sdk打開Eclipse界面,進(jìn)入菜單中的“Help”->“InstallNewSoftware”,點(diǎn)擊Add按鈕彈出對(duì)話框要求輸入Name和Location。如圖4所示。圖4、ADT安裝完成之后,選擇Window->Preferences;往左邊的面板選擇Android,然后在右側(cè)點(diǎn)擊Browse;并選中SDK的路徑,點(diǎn)擊Apply、OK。配置完成。5、創(chuàng)建AVD為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建 AVD,步驟如下:在Eclipse中,選擇Windows->AndroidSDKandAVDManager,點(diǎn)擊左側(cè)面板的VirtualDevices,再右側(cè)點(diǎn)擊New,填入Name,選擇Target的API,SDCard大小任意,Skin隨便選,Hardware目前保持默認(rèn)值,點(diǎn)擊CreateA/D即可完成創(chuàng)建AVD。如圖5所示。

bAztidlzoxdVirtualListof?istincAjtdroi孔¥iTu~(1站山CtCPU/^L:SBC?rd;MiBOFilt.| |fEialilad$Crec-nevAndr口:idTictbAztidlzoxdVirtualListof?istincAjtdroi孔¥iTu~(1站山CtCPU/^L:SBC?rd;MiBOFilt.| |fEialilad$Crec-nevAndr口:idTictua!DE-y-ice(AVD)Cresi+c-nevAndr口:idTictuaI 口此(AVD)7kv*lidAji缶力活Virtu*lXAn dVirtTid.DeyaTin*Skin:Kwd.^4re血氐血(VWSAfitM)iOKes^l-QtiQn:Pjropar VaIu.6出b<A護(hù)址L曲LCD ty240"砂剛^.pflLC*1L4-Tlk.Davictfaji-ikIza 512|Brovse...|Text圖5、AVD創(chuàng)建AVD創(chuàng)建完成后,將會(huì)顯示上圖左邊的列表中。單擊 start按鈕,將會(huì)啟動(dòng)所選的AVD,啟動(dòng)過(guò)程需要一段時(shí)間,啟動(dòng)成功后的虛擬設(shè)備如圖 6所示。圖6、虛擬設(shè)備結(jié)束語(yǔ)Android應(yīng)用程序開發(fā)著眼于它的整個(gè)系統(tǒng)架構(gòu),是一項(xiàng)復(fù)雜的工程。本文分析了Android系統(tǒng)架構(gòu),并討論了在Windows系統(tǒng)下Android開發(fā)環(huán)境的搭建,Android平臺(tái)本身大量使用開源類庫(kù),并且為開發(fā)人員提供了一

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論