Android開(kāi)發(fā)者應(yīng)該先看什么文檔_第1頁(yè)
Android開(kāi)發(fā)者應(yīng)該先看什么文檔_第2頁(yè)
Android開(kāi)發(fā)者應(yīng)該先看什么文檔_第3頁(yè)
Android開(kāi)發(fā)者應(yīng)該先看什么文檔_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、Q:Android開(kāi)發(fā)者應(yīng)該先看什么文檔? A:對(duì)開(kāi)發(fā)者來(lái)說(shuō),最重要的是概念,而DOCS中的Dev Guide里面對(duì)其解釋十分清晰,請(qǐng)仔細(xì)閱讀。并可以到eoeAndroid開(kāi)發(fā)者社區(qū)中找到很多的文檔和學(xué)習(xí)資料。、Q:Android系統(tǒng)架構(gòu)有哪些? A:Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,android分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和linux核心層。、Q:什么是開(kāi)源? A:開(kāi)源,意為開(kāi)放源代碼,由Bruce Perens(曾是Debian的創(chuàng)始人之一)定義如下: 1)自由再散布(Free Distribution):獲

2、得源代碼的人可自由再將此源代碼散布。 2)源代碼(Source Code):程式的可執(zhí)行檔在散布時(shí),必需隨附完整源代碼或是可讓人方便的事后取得源代碼。 3)衍生著作(Derived Works):讓人可依此源代碼修改后,在依照同一授權(quán)條款的情形下再散布。 4)原創(chuàng)作者程式源代碼的完整性(Integrity of The Authors Source Code):意即修改后的版本,需以不同的版本號(hào)碼以與原始的程式碼做分別,保障原始的程式碼完整性。 5)不得對(duì)任何人或團(tuán)體有差別待遇(No Discrimination Against Persons or Groups):開(kāi)放源代碼軟件不得因性別、

3、團(tuán)體、國(guó)家、族群等設(shè)定限制,但若是因?yàn)榉梢?guī)定的情形則為例外(如:美國(guó)政府限制高加密軟件的出口)。 6)對(duì)程式在任何領(lǐng)域內(nèi)的利用不得有差別待遇(No Discrimination Against Fields of Endeavor):意即不得限制商業(yè)使用。 7)散布授權(quán)條款(Distribution of License):若軟件再散布,必需以同一條款散布之。 8)授權(quán)條款不得專(zhuān)屬于特定產(chǎn)品(License Must Not Be Specific to a Product):若多個(gè)程式組合成一套軟件,則當(dāng)某一開(kāi)放源代碼的程式單獨(dú)散布時(shí),也必需要符合開(kāi)放源代碼的條件。 9)授權(quán)條款不得限制其

4、他軟件(License Must Not Restrict Other Software):當(dāng)某一開(kāi)放源代碼軟件與其他非開(kāi)放源代碼軟件一起散布時(shí)(例如放在同一光碟片),不得限制其他軟件的授權(quán)條件也要遵照開(kāi)放源代碼的授權(quán)。 10)授權(quán)條款必須技術(shù)中立(License Must Be Technology-Neutral):意即授權(quán)條款不得限制為電子格式才有效,若是紙本的授權(quán)條款也應(yīng)視為有效。、Q:如何搭建編程環(huán)境? A:開(kāi)發(fā)平臺(tái)推薦Eclipse。VS基本不要想,除非你特別鐘愛(ài)于傳統(tǒng)的vim或其他編程環(huán)境并且打算讓自己每天敲一堆命令,否則還是用Eclipse吧。它是官方推薦的,目前支持的還算中規(guī)

5、中距。而且Linux,windows都能用。 這里拿eoe的技術(shù)大牛pcr所使用的開(kāi)發(fā)環(huán)境舉例,SDK_2.3+Eclipse_3.6.1+ADT 8.0.1。這應(yīng)該就是目前最普通的開(kāi)發(fā)環(huán)境組合了。至于其他的輔助工具,可以在對(duì)android有一定了解之后在考慮添加。、Q:什么是NDK? A:1)NDK是一系列工具的集合。 NDK 提供了一系列的工具,幫助開(kāi)發(fā)者快速開(kāi)發(fā)C(或C+)的動(dòng)態(tài)庫(kù),并能自動(dòng)將so 和java 應(yīng)用一起打包成apk。這些工具對(duì)開(kāi)發(fā)者的幫助是巨大的。NDK 集成了交叉編譯器,并提供了相應(yīng)的mk 文件隔離CPU、平臺(tái)、ABI 等差異,開(kāi)發(fā)人員只需要簡(jiǎn)單修改mk 文件(指出“哪

6、些文件需要編譯”、“編譯特性要求”等),就可以創(chuàng)建出so。NDK 可以自動(dòng)地將so 和Java 應(yīng)用一起打包,極大地減輕了開(kāi)發(fā)人員的打包工作。 2)NDK提供了一份穩(wěn)定、功能有限的API頭文件聲明。 Google 明確聲明該API 是穩(wěn)定的,在后續(xù)所有版本中都穩(wěn)定支持當(dāng)前發(fā)布的API。從該版本的NDK 中看出,這些API 支持的功能非常有限,包含有:C 標(biāo)準(zhǔn)庫(kù)(libc)、標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)(libm)、壓縮庫(kù)(libz)、Log 庫(kù)(liblog)、Q:怎樣提高Android應(yīng)用程序的速度? A:首先, 我們要先明白“加快”是有兩層意思的,第一層是代碼執(zhí)行所需要的時(shí)間,第二層意思是用戶需要等待用戶界

7、面響應(yīng)的時(shí)間。下面是提高Android應(yīng)用程序運(yùn)行速度的幾條原則。 1)不要讓UI線程等待 2)耗時(shí)操作不可取 3)模擬器和真實(shí)的設(shè)備有不同 4)通知用戶,要注意用戶體驗(yàn)。、Q:Android運(yùn)行庫(kù)有哪些? A:Android 包括了一個(gè)核心庫(kù),該核心庫(kù)提供了JAVA 編程語(yǔ)言核心庫(kù)的大多數(shù)功能。每一個(gè)Android 應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik 虛擬機(jī)實(shí)例。Dalvik 被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。Dalvik 虛擬機(jī)執(zhí)行(.dex)的Dalvik 可執(zhí)行文件,該格式文件針對(duì)小內(nèi)存使用做了優(yōu)化。同時(shí)虛擬機(jī)是基于寄存器的,所有的類(lèi)都經(jīng)由JAV

8、A 編譯器編譯,然后通過(guò)SDK中的"dx" 工具轉(zhuǎn)化成.dex 格式由虛擬機(jī)執(zhí)行。Dalvik 虛擬機(jī)依賴(lài)于linux 內(nèi)核的一些功能,比如線程機(jī)制和底層內(nèi)存管理機(jī)制。、Q:Android都支持哪些Java特性 A:針對(duì)于Java SE或Java EE的程序員想轉(zhuǎn)到Android平臺(tái)上進(jìn)行開(kāi)發(fā),有以下幾點(diǎn)常規(guī)的支持: 1)目前來(lái)看JDK的高級(jí)特性均支持,比如說(shuō)1. Java的反射、2.NIO (New I/O)、3. JNI (Java Native Interface)相對(duì)而言 對(duì)于OpenGL和SQLite的支持比較強(qiáng)大,但是AWT和JDBC這些東西都不支持。 2)在X

9、ml解析上,兼容DOM、XmlPull和SAX,同時(shí)數(shù)據(jù)交換格式上,Android雖然不支持LINQ但對(duì)于Java來(lái)說(shuō)JSON同樣支持。 3)對(duì)于Http處理方面,提供了輕量級(jí)的Http處理類(lèi),以及更完善的Apache庫(kù)支持。 4)音頻方面Android比較強(qiáng)大,使用了OpenCore庫(kù),很多地方我們可以自己編寫(xiě)編碼、解碼器進(jìn)行擴(kuò)展。 5)Android在文件系統(tǒng)上基本山和Java是相同的,不過(guò)對(duì)于高效率的內(nèi)存影射文件而言提供了android.os.MemoryFile這個(gè)類(lèi)。 總體而言,Java程序員轉(zhuǎn)入Android開(kāi)發(fā)只需要了解平臺(tái)特有的,Intent,Service,Receiver和

10、Activity就差不多了,深入了解下AIDL和UI控件和自定義Widget基本上可以勝任常規(guī)的工作。、Q:Android最簡(jiǎn)單播放GIF動(dòng)畫(huà)方法是什么? A:GIF 動(dòng)畫(huà)的原理就是逐幀播放,在Android中提供了AnimationDrawable類(lèi)可以實(shí)現(xiàn),GIF89A的解碼方法在過(guò)去的J2ME平臺(tái)移植到 Android平臺(tái)也能用,其實(shí)在Google Android上面開(kāi)發(fā)目前2.2以后的固件支持的方法除了Flash Player外,更好的兼容方法就是使用萬(wàn)能的webkit瀏覽器了。直接在工程中內(nèi)嵌一個(gè)webView,當(dāng)然了路徑大家可以換成本地的,對(duì)于瀏覽器使 用本地資源url為file:/開(kāi)頭。 不過(guò)webView的資源消耗也不小,開(kāi)個(gè)webView對(duì)象可能占用了至少8MB的RAM吧,保守估計(jì),當(dāng)然更多的要看插件和以及html的復(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)論