android開發(fā)起源,android開發(fā)介紹,android開發(fā)發(fā)展歷史,android開發(fā)系統(tǒng)架_第1頁
android開發(fā)起源,android開發(fā)介紹,android開發(fā)發(fā)展歷史,android開發(fā)系統(tǒng)架_第2頁
android開發(fā)起源,android開發(fā)介紹,android開發(fā)發(fā)展歷史,android開發(fā)系統(tǒng)架_第3頁
android開發(fā)起源,android開發(fā)介紹,android開發(fā)發(fā)展歷史,android開發(fā)系統(tǒng)架_第4頁
android開發(fā)起源,android開發(fā)介紹,android開發(fā)發(fā)展歷史,android開發(fā)系統(tǒng)架_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、僅供個人參考android開發(fā)Android早期由“Android之父”之稱的AndyRubin創(chuàng)辦,Google于2005年并購了成立僅22個月的高科技企業(yè)Android,展開了短信、手機檢索、定位等業(yè)務(wù),基于Linux的通用平臺進入了開發(fā)。Google公司在2007年11月5日正式公布這個操作系統(tǒng),2008年,PatrickBrady于GoogleI/O演講“Anatomy&PhysiologyofanAndroid”,并提出的AndroidHAL架構(gòu)圖。HAL以*.so檔的形式存在,可以把Androidframework與Linuxkernel隔開。Android名稱來源Android一

2、詞最早出現(xiàn)于法國作家利爾亞當在1886年發(fā)表的科幻小說未來夏娃中。他將外表像人的機器起名為Android。2010年2月3日,Linux內(nèi)核開發(fā)者GregKroah-Hartman將Android的驅(qū)動程序從Linux內(nèi)核“狀態(tài)樹”(“stagingtree”)上除去,從此,Android與Linux核心開發(fā)分道揚鑣。Forpersonaluseonlyinstudyandresearch;notforcommercialuseAndroid介紹Android是Google開發(fā)的基于Linux平臺的開源手機操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序移動電話工作所需的全部軟件,而且不存在任何以

3、往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。谷歌與開放手機聯(lián)盟合作開發(fā)了Android,這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達和T-Mobile在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。通過與運營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,我們希望不得用于商業(yè)用途僅供個人參考借助建立標準化、開放式的移動電話軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。我們認為此舉必將推進更好、更快的創(chuàng)新,為移動用戶提供不可預知的應(yīng)用和服務(wù)。Forpersonaluseonlyinstudyandresearch;notforcommercialuseAndroid作為谷歌企業(yè)戰(zhàn)略的重要組成部分

4、,將進一步推進隨時隨地為每個人提供信息這一企業(yè)目標的實現(xiàn)。我們發(fā)現(xiàn),全球為數(shù)眾多的移動電話用戶從未使用過任何基于Android的電話。谷歌的目標是讓(移動通訊)不依賴于設(shè)備甚至平臺。出于這個目的,Android將補充,而不會替代谷歌長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機制造商和移動運營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動服務(wù),并推廣這些產(chǎn)品。開放手機聯(lián)盟的成立和Android的推出是對現(xiàn)狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入。但是,我們認為全球移動用戶從中能獲得的潛在利益是值得付出這些努力的。如果你也是一個開發(fā)者,并對我們的想法感興趣,就請再給我們一星期

5、的時間,屆時谷歌便能提供SDK了。如果你是一名移動用戶,只需再等一段時間,我們的一些合作伙伴計劃在2008年下半年推出基于Android平臺的電話產(chǎn)品。如果你已經(jīng)擁有一部你了解并喜愛的電話,確保你已經(jīng)安裝谷歌手機地圖、Gmail以及其他一些專為你的手機開發(fā)的精彩應(yīng)用。谷歌將繼續(xù)努力,讓這些服務(wù)變得更好,同時也將添加更有吸引力的特性、應(yīng)用和服務(wù)。Android發(fā)展歷史簡介Forpersonaluseonlyinstudyandresearch;notforcommercialuse2007年11月5日,Google發(fā)布了基于Linux平臺的開源移動手機平臺-Android。不得用于商業(yè)用途僅供個

6、人參考該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件等組成,號稱是首個為移動終端打造的真正的開放的移動開發(fā)平臺。2008年9月22日,美國運營商T-MobileUSA在紐約正式發(fā)布第一款Google手機-T-MobileG1。該款手機為中國臺灣宏達電代工制造,是世界上第一部使用Android操作系統(tǒng)的手機,支持WCDMA/HSPA網(wǎng)絡(luò),理論下載速率為7.2Mbit/s,并支持Wi-Fi無限局域網(wǎng)絡(luò)。Google與開放手機聯(lián)盟(OpenHandsetAlliance)合作開發(fā)了Android移動開發(fā)平臺,這個聯(lián)盟由摩托羅拉、高通、宏達電和T-Moblie、中國移動等在內(nèi)的30多家移動通訊領(lǐng)域的領(lǐng)軍

7、企業(yè)組成。Google與運營商、設(shè)備制造商、開發(fā)商和其他第三方結(jié)成了深層次的合作伙伴關(guān)系,希望通過建立標準化、開放式的移動電話軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。Android作為Google企業(yè)戰(zhàn)略的重要組成部分,將進一步推進“隨時隨地為每個人提供信息”這一企業(yè)目標的實現(xiàn)。全球為數(shù)眾多的移動電話用戶從未使用過任何基于Android的移動通訊設(shè)備,Google的目標是讓移動通訊不依賴于設(shè)備甚至平臺。出于這個目的,Android將補充而不會代替Google長期以來奉行的移動發(fā)展戰(zhàn)略:通過與全球各地的手機制造商和移動運營商結(jié)成合作伙伴,開發(fā)即有用又有吸引力的移動服務(wù),并推廣這些產(chǎn)品。F

8、orpersonaluseonlyinstudyandresearch;notforcommercialuse系統(tǒng)架構(gòu)應(yīng)用程序應(yīng)用程序Android以Java為編程語言,使接口到功能,都有層出不窮的變化,其中Activity等同于不得用于商業(yè)用途僅供個人參考J2ME的MIDlet,一個Activity類(class)負責創(chuàng)建視窗(window),一個活動中的Activity就是在foreground(前景)模式,背景運行的程序叫做Service。兩者之間通過由ServiceConnection和AIDL連結(jié),達到復數(shù)程序同時運行的效果。如果運行中的Activity全部畫面被其他Activity

9、取代時,該Activity便被停止(stopped),甚至被系統(tǒng)清除(kill)。View等同于J2ME的Displayable,程序人員可以通過View類與“XMLlayout”檔將UI放置在視窗上,Android1.5的版本可以利用View打造出所謂的Widgets,其實Widget只是View的一種,所以可以使用xml來設(shè)計layout,HTC的AndroidHero手機即含有大量的widget。至于ViewGroup是各種layout的基礎(chǔ)抽象類(abstractclass),ViewGroup之內(nèi)還可以有ViewGroup。View的構(gòu)造函數(shù)不需要再Activity中調(diào)用,但是Dis

10、playable的是必須的,在Activity中,要通過findViewById()來從XML中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View與事件(event)息息相關(guān),兩者之間通過Listener結(jié)合在一起,每一個View都可以注冊一個eventlistener,例如:當View要處理用戶觸碰(touch)的事件時,就要向Android框架注冊View.OnClickListener。另外還有Image等同于J2ME的BitMap。中介軟件操作系統(tǒng)與應(yīng)用程序的溝通橋梁,并用分為兩層:函數(shù)層(Library)和虛擬機(VirtualMachine)。Bi

11、onic是Android改良libc的版本。Android同時包含了Webkit,所謂的Webkit就是AppleSafari瀏覽器背后的引擎。Surfaceflinger是就2D或3D的內(nèi)容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自制的BionicLibc。Android采用OpenCORE作為基礎(chǔ)多媒體框架。OpenCORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideoMultimediaFramework(PVMF)、OperatingSystemCompatibilityLibrary(OSCL)、Common、Op

12、enMAX。Android使用skia為核不得用于商業(yè)用途僅供個人參考心圖形引擎,搭配OpenGL/ES。skia與LinuxCairo功能相當,但相較于LinuxCairo,skia功能還只是陽春型的。2005年Skia公司被Google收購,2007年初,SkiaGL源碼被公開,目前Skia也是GoogleChrome的圖形引擎。Android的多媒體數(shù)據(jù)庫采用SQLite數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫又分為共用數(shù)據(jù)庫及私用數(shù)據(jù)庫。用戶可通過ContentResolver類(Column)取得共用數(shù)據(jù)庫。Android的中間層多以Java實現(xiàn),并且采用特殊(的Dalvik虛擬機(DalvikVirtu

13、alMachine)。Dalvik虛擬機是一種“暫存器型態(tài)”RegisterBased)的Java虛擬機,變量皆存放于暫存器中,虛擬機的指令相對減少。Dalvik虛擬機可以有多個實例(instance),每個Android應(yīng)用程序都用一個自屬的Dalvik虛擬機來運行,讓系統(tǒng)在運行程序時可達到優(yōu)化。Dalvik虛擬機并非運行Java字節(jié)碼(Bytecode),而是運行一種稱為.dex格式的文件。硬件抽像層Android的HAL(硬件抽像層)是能以封閉源碼形式提供硬件驅(qū)動模塊。HAL的目的是為了把Androidframework與Linuxkernel隔開,讓Android不至過度依賴Linux

14、kernel,以達成kernelindependent的概念,也讓Androidframework的開發(fā)能在不考量驅(qū)動程序?qū)崿F(xiàn)的前提下進行發(fā)展。HALstub是一種代理人(proxy)的概念,stub是以*.so檔的形式存在。Stub向HAL“提供”操作函數(shù)(operations),并由Androidruntime向HAL取得stub的operations,再callback這些操作函數(shù)。HAL里包含了許多的stub(代理人)。Runtime只要說明“類型”,即moduleID,就可以取得操作函數(shù)。編程語言Android是運行于Linuxkernel之上,但并不是GNU/Linux。因為在一般

15、GNU/Linux里支持的功能,Android大都沒有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango不得用于商業(yè)用途僅供個人參考及Glibc等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。Android為了達到商業(yè)應(yīng)用,必須移除被GNUGPL授權(quán)證所約束的部份,例如Android將驅(qū)動程序移到userspace,使得Linuxdriver與Linuxkernel徹底分開。bionic/libc/kernel/并非標準的kernelheaderfiles。Android的kernelhea

16、der是利用工具由Linuxkernelheader所產(chǎn)生的,這樣做是為了保留常數(shù)、數(shù)據(jù)結(jié)構(gòu)與宏。目前Android的Linuxkernel控制包括安全(Security),存儲器管理(MemoryManagemeat),程序管理(ProcessManagement),網(wǎng)絡(luò)堆棧(NetworkStack),驅(qū)動程序模型(DriverModel)等。下載Android源碼之前,先要安裝其構(gòu)建工具Repo來初始化源碼。Repo是Android用來輔助Git工作的一個工具。編輯本段知識體系1、Unix/Linux平臺技術(shù):基本命令,Linux下的開發(fā)環(huán)境2、企業(yè)級數(shù)據(jù)庫技術(shù):SQL語言、SQL語句調(diào)

17、優(yōu)、Oracle數(shù)據(jù)庫技術(shù)3、Java語言核心技術(shù):Java語言基礎(chǔ)、Java面向?qū)ο缶幊?、JDK核心API、Java集合框架、Java網(wǎng)絡(luò)編程、JavaI/O編程、Java多線程編程、Java異常機制、Java安全、JDBC、XML4、軟件工程和設(shè)計模式:軟件工程概述、配置管理及SVN、UML、基本設(shè)計模式5、Android應(yīng)用開發(fā)基礎(chǔ):Android開發(fā)平臺、Eclipse+ADT開發(fā)環(huán)境、AVD及傳感模擬器調(diào)試、Android核心組件、Android常用組件、Android高級組件、文件及網(wǎng)絡(luò)訪問、SQLite數(shù)據(jù)庫編程、后臺服務(wù)編程6、互聯(lián)網(wǎng)核心技術(shù):HTML、CSS、JavaScript、JQuery、Ajax應(yīng)用不得用于商業(yè)用途僅供個人參考7、Android高級應(yīng)用開發(fā):音頻視頻攝像頭、互聯(lián)網(wǎng)應(yīng)用、GPS和位置服務(wù)、GoogleMap、2D3D繪制、傳感器開發(fā)、游戲開發(fā)、電話及SMS服務(wù)、網(wǎng)絡(luò)BluetoothWi-Fi等。8、Android系統(tǒng)級開發(fā):移植、驅(qū)動、NDK(C方向)。9、JavaEE核心技術(shù):Servlet核心技術(shù)、JSP核心技術(shù)、Struts、Spring、Hibernate框架。金石科技,致力于為手機開發(fā)平臺提供移動手機應(yīng)用開發(fā)解決方案,專注于App開發(fā),手機端開發(fā),軟件外包,移動應(yīng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論