Android開發者應該先看什么文檔_第1頁
Android開發者應該先看什么文檔_第2頁
Android開發者應該先看什么文檔_第3頁
Android開發者應該先看什么文檔_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、團體、國家、族群等設定限制,但若是因為法律規定的情形則為例外(如:美國政府限制高加密軟件的出口)。 6)對程式在任何領域內的利用不得有差別待遇(No Discrimination Against Fields of Endeavor):意即不得限制商業使用。 7)散布授權條款(Distribution of License):若軟件再散布,必需以同一條款散布之。 8)授權條款不得專屬于特定產品(License Must Not Be Specific to a Product):若多個程式組合成一套軟件,則當某一開放源代碼的程式單獨散布時,也必需要符合開放源代碼的條件。 9)授權條款不得限制其

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

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

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

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

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

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

10、Activity就差不多了,深入了解下AIDL和UI控件和自定義Widget基本上可以勝任常規的工作。、Q:Android最簡單播放GIF動畫方法是什么? A:GIF 動畫的原理就是逐幀播放,在Android中提供了AnimationDrawable類可以實現,GIF89A的解碼方法在過去的J2ME平臺移植到 Android平臺也能用,其實在Google Android上面開發目前2.2以后的固件支持的方法除了Flash Player外,更好的兼容方法就是使用萬能的webkit瀏覽器了。直接在工程中內嵌一個webView,當然了路徑大家可以換成本地的,對于瀏覽器使 用本地資源url為file:/開頭。 不過webView的資源消耗也不小,開個webView對象可能占用了至少8MB的RAM吧,保守估計,當然更多的要看插件和以及html的復雜程度

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論