官术网_书友最值得收藏!

2.3 Android SDK介紹

SDK(software development kit)軟件開發工具包,是軟件開發工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件的開發工具的集合。Android SDK就是Android專屬的軟件開發工具包。

2.3.1 Android SDK目錄結構

Android SDK解壓即可完成安裝,其中包含的文件、文件夾如圖2.10所示。

圖2.10 Android SDK目錄結構圖

(1)add-ons

該目錄中存放Android的擴展庫,比如Google Maps,但是如果未選擇安裝Google API,則該目錄為空。

(2)docs

該目錄是developer.Android.com的開發文檔,包含SDK平臺、工具、ADT等的介紹,開發指南,API文檔,相關資源等。

(3)extras

該目錄用于存放Android附加支持文件,主要包含Android的support支持包、Google的幾個工具和驅動、Intel的IntelHaxm。

(4)platforms

該目錄用于存放Android SDK Platforms平臺相關文件,包括字體、res資源、模板等。

(5)platform-tools

該目錄包含各個平臺工具,其中主要包含以下幾部分。


●api目錄。api-versions.xml文件,用于指明所需類的屬性、方法、接口等。

●lib目錄。lib目錄中只有dx.jar文件,為平臺工具啟動dx.bat時加載并使用jar包里的。

●aapt.exe。主要作用是把開發的應用打包成apk安裝文件,如果用eclipse開發,就不用通過命令窗口輸入命令+參數實現打包。

●adb.exe。Adb即Android Debug Bridge調試橋,可以通過它連接Android手機(或模擬器)和與PC端,可以在PC端上控制手機的操作。如果用Eclipse開發,一般情況下adb會自動啟動,之后我們可以通過DDMS來調試Android程序。

●aidl.exe。AIDL全稱Android Interface Definition Language,是Android內部進程通信接口的描述語言,用于生成可以在Android設備進行進程間通信(IPC)的代碼。

●dexdump.exe。使用dexdump可以反編譯.dex文件,例如dex文件里包含3個類,反編譯后也會出現3個.class文件,通過對這些文件可以大概了解原始的java代碼。

●dx.bat。其功能是將.class字節碼文件轉成Android字節碼.dex文件。

●fastboot.exe。通過fastboot可以重啟系統、重寫內核、查看連接設備、寫分區、清空分區等操作。

●Android llvm-rs-cc.exe。Renderscript采用LLVM低階虛擬機,llvm-rs-cc.exe主要作用是對Renderscript的處理。

●NOTICE.txt和source.properties。NOTICE.txt只是給出一些提示的信息;source.properties是資源屬性信息文件,主要是該資源生成時間、系統類型、資源URL地址等等。


(6)samples

samples是Android SDK自帶的默認示例工程,里面的apidemos強烈推薦初學者進行學習,對于SQLite數據庫操作可以查看NotePad例子,對于游戲開發可以參考Snake和LunarLander,對于Android主題開發Home則是Android 5時代的主題設計原理。

(7)system-images

該目錄存放系統用到的所有圖片。

(8)temp

該目錄存放系統中的臨時文件。

(9)tools

作為SDK根目錄下的tools文件夾,這里包含了重要的工具,比如ddms用于啟動Android調試工具,logcat、屏幕截圖和文件管理器,而draw9patch則是繪制Android平臺的可縮放png圖片的工具,sqlite3可以在PC上操作SQLite數據庫,而monkeyrunner則是一個不錯的壓力測試應用,模擬用戶隨機按鈕,mksdcard則是模擬器SD映像的創建工具,emulator是Android模擬器主程序,不過從Android 1.5開始,需要輸入合適的參數才能啟動模擬器,traceview作為Android平臺上重要的調試工具。

2.3.2 Android.jar

作為一個Java項目,通常情況下都會引入要用到的工具類,也就是Jar包,在Android開發中,絕大部分開發用的工具包都被封裝到一個名叫Android.jar的文件里了。在Eclipse中展開來看,可以看到j2se中的包,apache項目中的包,還有Android自身的包文件。Android的包文件主要包括以下內容:


●Android.app:提供高層的程序模型和基本的運行環境。

●Android.content:包含各種對設備上的數據進行訪問和發布的類。

●Android.database:通過內容提供者瀏覽和操作數據庫。

●Android.graphics:底層的圖形庫。

●Android.location:定位和相關服務的類。

●Android.media:提供一些類管理多種音頻、視頻的媒體接口。

●Android.net:提供幫助網絡訪問的類,超過通常的java.net.*接口。

●Android.os:提供了系統服務、消息傳輸、IPC機制。

●Android.openg:提供OpenGL的工具。

●Android.provider:提供類,訪問Android的內容提供者。

●Android.telephony:提供與撥打電話相關的API交互。

●Android.view:提供基礎的用戶界面接口框架。

●Android.util:涉及工具性的方法,例如時間日期的操作。

●Android.webkit:默認瀏覽器操作接口。

●Android.widget:包含各種UI元素(大部分是可見的)在應用程序的屏幕中使用。

2.3.3 Android API核心包

SDK中集成了很多開發應用的API,它們是通過Android SDK來編寫應用程序的基礎,這里我們從最底層到最高層列出核心包并加以說明。


●Android.util:包含一些底層輔助類,例如:特定的容器類,XML輔助工具類等。

●Android.os:提供基本的操作服務,消息傳遞和進程間通信IPC。

●Android.graphics:作為圖形渲染包,提供圖形渲染功能。

●Android.text Android.text.method Android.text.style Android.text.util:提供一套豐富的文本處理工具,支持富文本,輸入模式等。

●Android.database:包含底層API處理數據庫,方便操作數據庫表和數據。

●Android.content:提供各種服務訪問數據在手機設備上,程序安裝到手機設備和其他相關資料。

●Android.view:核心用戶界面框架。

●Android.widget:提供標準用戶界面元素,List(列表),Buttons(按鈕),Layout manager(布局管理器)等,是組成我們界面的基本元素。

●Android.app:提供高層應用程序模型,實現使用Activity。

●Android.provider:提供方便調用系統提供的content providers的接口。

●Android.telephony:提供API和手機設備的通話接口。

●Android.webikit:包含一系列工作在基于Web內容的API。

2.3.4 Android API擴展包

核心的Android API在每部手機上都可使用,但仍然有一些API接口有各自特別的適用范圍:這就是所謂的“可選API”。這些API之所以是“可選的”,主要是因為一個手持設備并不一定要完全支持這類API,甚至于完全不支持。


●Location-Based Services定位服務。Android操作系統支持GPS API-LBS,可以通過集成GPS芯片來接收衛星信號通過GPS全球定位系統中至少3顆衛星和原子鐘來獲取當前手機的坐標數據,通過轉換就可以成為地圖上的具體位置了,這一誤差在手機上可以縮小到10米。在谷歌開發手機聯盟中可以看到著名的SiRF star。所以未來gPhone手機上市時集成GPS后的價格不會很貴。同時谷歌正在研制基于基站式的定位技術-MyLocation可以更快速地定位與前者GPS定位需要花費大約1分鐘相比基站定位更快。

●Media APIs多媒體接口。Android平臺上集成了很多影音解碼器以及相關的多媒體API,通過這些可選API,廠商可以讓手機支持MP3、MP4、高清晰視頻播放處理等。

●3D Graphics with OpenGL 3D圖形處理OpenGL可選API。Android平臺上的游戲娛樂功能如支持3D游戲或應用場景就需要用到3D技術,手機生產廠商根據手機的屏幕以及定位集成不同等級的3D加速圖形芯片來加強GPhone手機的娛樂性,有來自高通的消息稱最新的顯示芯片在GPhone上將會輕松超過索尼PS3。

●Low-Level Hardware Access低級硬件訪問。這個功能主要用于控制手機的底層方面操作,由于設計底層硬件操作,將主要由各個手機硬件生產廠商來定制,支持不同設備的操作管理等,如藍牙Bluetooth以及WIFI無線網絡支持等。


主站蜘蛛池模板: 赣榆县| 黄浦区| 宣汉县| 孟津县| 秦安县| 社旗县| 苍南县| 富锦市| 蕉岭县| 五原县| 凤台县| 密山市| 调兵山市| 新乡市| 玉门市| 永平县| 安徽省| 明光市| 镇雄县| 天峻县| 成都市| 武安市| 林西县| 库尔勒市| 鱼台县| 双城市| 敦煌市| 乳源| 于田县| 辛集市| 郓城县| 随州市| 布拖县| 土默特右旗| 合川市| 马龙县| 海口市| 嘉善县| 句容市| 阿巴嘎旗| 西贡区|