Android的系統(tǒng)架構(gòu)

Android的系統(tǒng)架構(gòu)

ID:41062475

大?。?7.00 KB

頁(yè)數(shù):8頁(yè)

時(shí)間:2019-08-15

Android的系統(tǒng)架構(gòu)_第1頁(yè)
Android的系統(tǒng)架構(gòu)_第2頁(yè)
Android的系統(tǒng)架構(gòu)_第3頁(yè)
Android的系統(tǒng)架構(gòu)_第4頁(yè)
Android的系統(tǒng)架構(gòu)_第5頁(yè)
資源描述:

《Android的系統(tǒng)架構(gòu)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、Android的系統(tǒng)架構(gòu)  Android的系統(tǒng)架構(gòu)和其它操作系統(tǒng)一樣,采用了分層的架構(gòu)。android分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和linux核心層?! ndroid是以Linux為核心的手機(jī)操作平臺(tái),作為一款開(kāi)放式的操作系統(tǒng),隨著Android的快速發(fā)展,如今已允許開(kāi)發(fā)者使用多種編程語(yǔ)言來(lái)開(kāi)發(fā)Android應(yīng)用程序,而不再是以前只能使用Java開(kāi)發(fā)Android應(yīng)用程序的單一局面,因而受到眾多開(kāi)發(fā)者的歡迎,成為真正意義上的開(kāi)放式操作系統(tǒng)?! ≡贏ndroid中,開(kāi)發(fā)者可以使用Java作為編程語(yǔ)言來(lái)開(kāi)發(fā)

2、應(yīng)用程序,也可以通過(guò)NDK使用C/C++作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,也可使用SL4A來(lái)使用其他各種腳本語(yǔ)言進(jìn)行編程(如:python、lua、tcl、php等等),還有其他諸如:Qt(qtforandroid)、Mono(monoforandroid)等一些著名編程框架也開(kāi)始支持Android編程,甚至通過(guò)MonoDroid,開(kāi)發(fā)者還可以使用C#作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序。另外,谷歌還在2009年特別發(fā)布了針對(duì)初學(xué)者的Android?Simple語(yǔ)言,該語(yǔ)言類似Basic語(yǔ)言。而在網(wǎng)頁(yè)編程語(yǔ)言方面,JavaScript,ajax,HTML5,jqu

3、ery、sencha、dojo、mobl、PhoneGap等等都已經(jīng)支持Android開(kāi)發(fā)?! 《贏ndroid系統(tǒng)底層方面,Android使用C/C++作為開(kāi)發(fā)語(yǔ)言。應(yīng)用程序(部分)  早期的Android應(yīng)用程序開(kāi)發(fā),通常通過(guò)AndroidSDK(Android軟件開(kāi)發(fā)包)下使用Java作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,但通過(guò)不同的軟件開(kāi)發(fā)包,則使用的編程語(yǔ)言也不同?! ±玳_(kāi)發(fā)者可以通過(guò)AndroidNDK(AndroidNative開(kāi)發(fā)包)使用C語(yǔ)言或者C++語(yǔ)言來(lái)作為編程語(yǔ)言開(kāi)發(fā)應(yīng)用程序。同時(shí)谷歌還推出了適合初學(xué)者編程使用的Simple語(yǔ)言,

4、該語(yǔ)言類似微軟公司的VisualBasic語(yǔ)言。此外,谷歌公司還推出了GoogleAppInventor開(kāi)發(fā)工具,該開(kāi)發(fā)工具可以快速地構(gòu)建應(yīng)用程序,方便新手開(kāi)發(fā)者?! ava開(kāi)發(fā)方面  Android支持使用Java作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,而Android的Java開(kāi)發(fā)方面從接口到功能,都有層出不窮的變化??紤]到Java虛擬機(jī)的效率和資源占用,谷歌重新設(shè)計(jì)了Android的Java,以便能提高效率和減少資源占用,因而與J2ME等不同。??Android結(jié)構(gòu)其中Activity等同于J2ME的MIDlet,一個(gè)Activity類(Class)負(fù)

5、責(zé)創(chuàng)建視窗(Windows),一個(gè)活動(dòng)中的Activity就是在foreground(前景)模式,背景運(yùn)行的程序叫做Service。兩者之間通過(guò)由ServiceConnection和AIDL連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)運(yùn)行效果。如果運(yùn)行中的Activity全部畫面被其他Activity取代時(shí),該Activity便被停止(Stopped),甚至被系統(tǒng)清除(Kill)。  View等同于J2ME的Displayable,程序人員可以通過(guò)View類與“XMLlayout”檔將UI放置在視窗上,Android1.5的版本可以利用View打造出所謂的Widgets

6、,其實(shí)Widget只是View的一種,所以可以使用xml來(lái)設(shè)計(jì)layout,HTC的AndroidHero手機(jī)即含有大量的widget。至于ViewGroup是各種layout的基礎(chǔ)抽象類(abstractclass),ViewGroup之內(nèi)還可以有ViewGroup。View的構(gòu)造函數(shù)不需要再Activity中調(diào)用,但是Displayable的是必須的,在Activity中,要通過(guò)findViewById()來(lái)從XML中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View與事件(event)息息相關(guān),兩者之間通過(guò)L

7、istener結(jié)合在一起,每一個(gè)View都可以注冊(cè)一個(gè)eventlistener,例如:當(dāng)View要處理用戶觸碰(touch)的事件時(shí),就要向Android框架注冊(cè)View.OnClickListener。另外還有BitMap等同于J2ME的Image?! /C++開(kāi)發(fā)方面  早期的Android開(kāi)發(fā)只支持Java作為編程語(yǔ)言開(kāi)發(fā)應(yīng)用程序,因而使得其他語(yǔ)言開(kāi)發(fā)者只能望而卻步。2010年4月,谷歌正式對(duì)開(kāi)發(fā)者發(fā)布了AndroidNDK,NDK允許開(kāi)發(fā)者使用C/C++作為編程語(yǔ)言來(lái)為Android開(kāi)發(fā)應(yīng)用程序,初版的NDK使得開(kāi)發(fā)者看到了C/C++在

8、Android開(kāi)發(fā)中的希望?! 〉?,當(dāng)前版本的NDK在功能上還有很多局限性:NDK并沒(méi)有提供對(duì)應(yīng)用程序生命周期的維護(hù);N

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。