




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章初識Android開發(fā)學習目標掌握Android開發(fā)環(huán)境的搭建掌握Android的程序開發(fā)步驟掌握Android模擬器的使用掌握DDMS的使用情景導入Android因擁有開放性、數據同步性、兼容性等優(yōu)點從手機操作系統中脫穎而出,成為使用人數最多的手機操作系統,手機應用軟件得以迅速發(fā)展。本次任務主要實現HelloWorld項目的創(chuàng)建、調試、運行。任務描述【功能描述】創(chuàng)建第一個Android項目HelloWorld在虛擬機上運行項目使用DDMS調試任務技能技能點1Android概述1Android簡介Android的本意是“機器人”,這個詞匯最早出現于法國作家利爾亞當(AugusteVilliersdel'Isle-Adam)在1886年發(fā)表的科幻小說《未來夏娃》(L'èvefuture)中,小說中將外表像人的機器起名為Android。Android是一個移動設備軟件堆,其包括操作系統、中間件、用戶界面和關鍵應用軟件。換言之,Android是基于Java并運行在Linux內核上的輕量級操作系統,其功能覆蓋面廣泛,包括一系列Google公司在其中內置的應用軟件,如打電話、發(fā)短信等基本應用功能。一個簡單的Android運行界面如圖1.3所示。任務技能圖1.3Android運行界面任務技能2Android版本自Android首次發(fā)布距今,Android已經出現了相當多的版本,如表1.1所示。任務技能Android版本發(fā)布日期代號1.12009年02月09日Bender(發(fā)條機器人)1.52009年04月30日Cupcake(紙杯蛋糕)1.62009年09月15日Donut(炸面圈)2.0/2.12009年10月26日Eclair(長松餅)2.22010年05月20日Froyo(凍酸奶)2.32010年12月06日Gingerbread(姜餅)3.02011年02月03日Honeycmb(蜂巢)4.12012年6月28日JellyBean(果凍豆)4.22012年10月30日JellyBean(果凍豆)4.32013年7月25日JellyBean(果凍豆)4.42013年11月1日KitKat(巧克力棒)5.02014年10月16日Lollipop(棒棒糖)6.02015年05月28日Marshmallow(棉花糖)7.02016年05月18日Nougat(牛軋?zhí)牵┍?.1Android版本列表任務技能
3Android功能Android的功能強大,具體包括以下幾個功能:存儲:使用SQLite(輕量級的關系數據庫)進行數據存儲連接性:支持GSM/EDGE、IDEN、CDMA、EV-DO、UMTS、Bluetooth(包括A2DP和AVRCP)、WIFI、LTE和WiMAX消息傳遞:支持SMS和MMSWeb瀏覽器:基于開源的WebKit,并集成Chrome的V8JavaScript引擎任務技能媒體支持:支持以下媒體:H.263、H.264(在3GP或MP4容器中)、MPEG-4SP、AMR、AMR-WB、AAC、HE-AAC(在MP4或3GP容器中)、MP3、MIDI、WAV、IPEG、PNG、GIF和BMP硬件支持:加速傳感器、攝像頭、數字式羅盤、接近傳感器和全球定位系統多點觸摸:支持多點觸摸屏幕多任務:支持多任務應用Flash支持:Android3.0支持Flash10.1.任務技能4Android架構Android操作系統的各個層面如圖1.4所示,通過對Android架構的學習,使讀者更全面的了解Android系統。任務技能
圖1.4Android操作系統(0S)的各個層面任務技能從架構圖看,Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層。
應用程序層:該層主要是Android自帶的一些應用程序,例如:電話、聯系人、瀏覽器等,還包括從AndroidMarket應用程序商店下載和安裝的應用程序。應用程序框架層:該層主要是對程序員開放的Android操作系統的各種功能,以便在應用程序中使用各項功能。系統運行庫層:該層主要包含一些C/C++庫,這些庫能被Android系統中不同的組件使用。Linux內核層:該層為Android的內核,包括Android設備的各種硬件組建的底層設備驅動程序。任務技能5Android特性Android具有如下特性:
能夠靈活的運用程序框架,支持組件的重用和替換娛樂功能豐富,包括常見的音頻、視頻和靜態(tài)映像文件格式(如MPEG4、MP3、AAC、AMR、JPG、PNG和GIF)優(yōu)化的圖形庫,包括定制2D圖形庫和3D圖形庫,其中3D圖形庫基于OpenGLES1.0擁有專門的為移動設備優(yōu)化的虛擬機---Dalvik任務技能內部集成瀏覽器,這個瀏覽器是基于開源的WebKit引擎結構化的數據存儲使用了SQLite數據庫支持USB、藍牙、Wi-Fi等多種數據傳輸(依賴于硬件)支持攝像頭、GPS、指南針和加速度器(依賴于硬件)豐富的開發(fā)環(huán)境,包括設備模擬器、調試工具、內存及性能分析圖表和Eclipse集成開發(fā)環(huán)境插件等支持GSM、WCDM、LTE等多種移動電話技術任務技能6Android優(yōu)勢Android和其他編程語言相比,具有以下優(yōu)勢:開放性:主要指基于Android開發(fā)的平臺允許任何的移動終端廠商加入。支持硬件設施多樣性:隨著Android開放性的施展,許多硬件廠家會推出各種不同的產品,盡管產品樣式不同,功能上也存在著差異和特色,卻不會影響到數據同步、甚至軟件的兼容。便捷性:Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境,不會受到各種規(guī)定的束縛,因此開發(fā)商能夠發(fā)揮自己的創(chuàng)新能力,開發(fā)出更多的應用程序。任務技能技能點2開發(fā)環(huán)境搭建每門語言的開發(fā)都需要相應的開發(fā)工具,Android程序的開發(fā)軟件也是必不可少的,本書采用的開發(fā)軟件及版本為環(huán)境為JDK1.8以及SDK。1JDK(JavaDevelopmentKit)JDK是
Java
語言的軟件開發(fā)工具包,主要用于移動設備、嵌入式設備上的Java應用程序開發(fā),是搭建Java開發(fā)運行環(huán)境最基本要素。JDK中包含一些開發(fā)所需要的工具的集合。任務技能2EclipseEclipse是跨平臺自由集成開發(fā)環(huán)境(IDE),是一個框架平臺。Eclipse本身而言是一個框架和一組服務,可通過插件組件構建開發(fā)環(huán)境。Eclipse附帶了標準的插件集,其中包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。Eclipse開發(fā)界面如圖1.5所示。任務技能圖1.5Eclipse開發(fā)界面圖任務技能
3AndroidSDKSDK是SoftwareDevelopmentKit的縮寫,是軟件工程師為所使用的特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件開發(fā)工具的集合,而AndroidSDK指的是Android專屬的軟件開發(fā)工具包。AndroidSDK不用安裝,下載后將SDK壓縮包解壓即可。任務技能
4ADTADT(AndroidDevelopmentTools)是Android為Eclipse所定制的一個插件,這個插件的主要作用是為用戶開發(fā)Android應用程序時,提供一個強大的綜合環(huán)境。它拓展了Eclipse的功能,可以讓用戶快速的建立Android項目,創(chuàng)建應用程序界面,在基于Android框架API的基礎上添加組件,以及用SDK工具集調試應用程序,甚至導出簽名(或未簽名)的APK以便運行應用程序。5安裝步驟第一步:安裝JDK(JavaDevelopmentKit)首先運行該程序,然后根據提示來選擇安裝路徑,將JDK安裝到指定的文件夾即可,一般情況下是使用默認路徑,具體步驟如下。(1)首先打開安裝界面,如圖1.6所示。任務技能任務技能圖1.6JDK安裝界面任務技能(2)根據界面提示選擇“下一步”,在這里我們選擇“開發(fā)工具”一項,同時這里也可以選擇安裝路徑,選擇下一步,如圖1.7所示。圖1.7JDK功能選項界面任務技能(3)選擇“下一步”,JDK安裝成功,如圖1.8、1.9所示。圖1.8安裝界面
任務技能
圖1.9成功界面
任務技能(4)配置JDK。選擇“計算機”→“屬性”→“高級系統設置”→“高級”→“環(huán)境變量”如圖1.10所示。圖1.10系統屬性界面任務技能(5)選擇“系統變量”→新建“JAVA_HOME”變量,變量值填寫安裝的JDK所在的位置路徑,如圖1.11所示。
圖1.11jdk位置路徑
任務技能(6)“系統變量”→尋找“Path”變量“編輯”→,在變量值最后輸入:“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”,如圖1.12所示。圖1.12系統變量設置(注意:原來Path的變量值末尾沒有“;”號,先輸入“;”號再輸入上面的內容)任務技能(7)“系統變量”→新建“CLASSPATH變量”,變量值填寫:“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”,如圖1.13所示。(注意:變量值開頭有點)圖1.13系統變量設置任務技能(8)檢測其是否已經配置成功,檢測的步驟是:“開始”→“運行”命令,在“運行”對話框的文本框中輸入“cmd”,在打開的CMD窗口中輸入java-version,如果顯示如圖1.14所示的提示信息,則說JDK明安裝成功。(注意:java和-version之間是有空格的)圖1.14命令窗口任務技能第二步:安裝Eclipse下載Java版本的Eclipse集成開發(fā)環(huán)境
。(1)將下載的Eclipse安裝文件解壓到硬盤上的某個目錄,如圖1.15所示。圖1.15解壓后的Eclipse目錄任務技能(2)Eclipse集成開發(fā)環(huán)境是無需安裝的,在解壓并打開Eclipse后,找到用戶安裝的JDK路徑進入解壓后的目錄。雙擊可執(zhí)行文件“eclipse.exe”,運行Eclipse,出現如圖1.16所示界面,選擇文件工作空間路徑,點擊確定。圖1.16選擇workspace的界面任務技能(3)點擊“OK”,出現Eclipse操作界面如圖1.17所示。圖1.17Eclipse的操作界面任務技能第三步:安裝AndroidSDKAndroidSDK的安裝,具體步驟如下:(1)首先將現有的AndroidSDK開發(fā)包解壓到某個盤的某個目錄下,解壓文件后,會得到以下幾個重要的文件,但是在這里只選擇“SDKManager.exe”(負責下載和更新SDK包),如圖1.18所示。圖1.18解壓目錄任務技能(2)自動檢測是否有更新的SDK數據包可供下載,然后選擇所需安裝Android版本,然后點擊“Installpackages”安裝。如圖1.19所示。圖1.19安裝界面任務技能(3)AndroidSDK管理器開始下載并安裝所選的包。如圖1.20所示。圖1.20安裝進程任務技能(4)安裝完成后,在AndroidSDK管理器界面上你所選的包在Status中會顯示“Installed”,表示已經安裝完成,如圖1.21所示。圖1.21安裝界面任務技能(5)將SDKtools目錄的完整路徑設置到系統變量中。新建變量名為“SDK_HOME”,在“變量值”文本框輸入的AndroidSDK的解壓目錄的路徑,如圖1.22所示。圖1.22設置系統變量任務技能(6)找到“PATH”的變量,點擊編輯,在“變量值”文本框最前面加上“%SDK_HOME%\tools;”,如圖1.23所示。圖1.23設置系統變量任務技能(7)設置完成后,檢查AndroidSDK是否已經安裝成功,能夠正常運行。依次單擊“開始”→“運行”,然后在運行對話框中輸入“cmd”,然后按下回車鍵,再打開的CMD命令窗口輸入“Android-h”,如果顯示安裝的AndroidSDK的信息則證明安裝成功,如圖1.24所示。(注意:Android和-h之間是有空格的)任務技能圖1.24配置信息任務技能第四步:將ADT和Eclipse綁定
AndroidDevelopmentTools(ADT)是Android為Eclipse定制的一個插件,該插件為用戶提供一個強大的Android應用程序綜合開發(fā)環(huán)境。ADT是對EclipseIDE的擴展,用來支持Android應用程序的創(chuàng)建和調試。安裝ADT有兩種方法。
(1)在線安裝首先運行Eclipse,啟動EclipseIDE,選擇菜單選項“Help→InstallNewSoftware”,出現“Install”界面,點擊Add按鈕,如圖1.25所示。任務技能圖1.25Install對話框任務技能在“name”文本框中輸入名字,如:ADTPlugin,注意在“Location”文本框中不能再隨意寫地址,一定要輸入插件的網絡地址“/Android/eclipse”,單擊“OK”按鈕。如圖1.26所示。圖1.26Add對話框任務技能第五步:設定AndroidSDK主目錄插件安裝后,在Eclipse中設置AndroidSDK的主目錄。(1)啟動Eclipse,在菜單中依次單擊“Window”→“ndow單擊DK-ssl命令,如圖1.27所示。任務技能圖1.27Eclipse界面任務技能(2)選擇“Android”,設定AndroidSDK所在目錄為SDKLocation,單擊“確定”按鈕完成設置。如圖1.28所示:圖1.28“首選項”對話框任務技能技能點3Eclipse項目結構Eclipse項目結構如圖1.29所示。
1.29項目結構任務技能1src主要存放Android項目的源文件,在Android項目里寫的Java代碼都在該文件下。2gen目錄:自動生成的Java文件,里面有2個文件:
(1)BulidConfig.java:文件不需修改,成員變量DEBUG,代表允許調試
(2)R.java:文件同樣不需修改,里面定義了許多靜態(tài)的整型常量,是項目中使用的資源ID。3Android4.2.2目錄:Android開發(fā)過程中使用的API在該目錄下jar包中。任務技能4AndroidDependencies目錄:為了兼容一些高版本的特性可以在低版本使用,不過需要注意,該jar包的真實位置在libs目錄下。5assets目錄:資源文件夾,但是,該文件夾里的資源并不會自動生成資源ID存在R.jar里,里面存放的是大型的資源,比如視頻、音樂等。6bin:是二進制,是存放打包編譯后的文件的,不管文件有沒有編譯都會在這里面。7libs目錄:存放第三方庫,自動被導入。任務技能8res:存放資源的地方,比如圖片等較小的資源,有資源ID,存放在R.java中:(1)在res中有三個名為“drawable”的文件夾,是用來存放程序所用的圖片的,三個文件夾分別存放三種不同分辨率的圖片,分別為“高分辨率”、“低分辨率”、“中分辨率”。(2)在res中還有一個文件夾“l(fā)ayout”,這個文件夾是用來存放界面布局文件的。9AndroidManifest文件:這個文件在所有的項目中名稱都不會變,是一個全局的文件,所有在Android中用到的組件都要在該文件中聲明。任務技能技能點4Android常用開發(fā)工具及用法1模擬器簡介及功能
模擬器指在電腦上模擬Android系統,用模擬器來調試并運行開發(fā)的Android程序,通過電腦模擬器模擬手機運行環(huán)境,即可開發(fā)出應用在手機上的軟件。如圖1.30所示。任務技能圖1.30游戲測試任務技能功能:Android模擬器的功能除了接聽和撥打電話外的所有移動設備上的典型功能和行為,并可以提供大量的導航和控制鍵,讓開發(fā)人員可以通過鼠標或鍵盤點擊這些按鍵來為自己的應用程序產生事件。模擬器的屏幕用于顯示Android自帶應用程序和開發(fā)人員自己的應用程序。Android允許開發(fā)人員的應用程序通過Android平臺服務調用其他程序、訪問網絡、播放音頻和視頻、保存和傳輸數據、通知用戶、渲染圖像過渡和場景等。模擬器同樣具有強大的調試能力,例如它能夠記錄內核輸出的控制臺、模擬程序中斷(如接受短信或打入電話)、模擬數據通道中的延時效果和遺失等。任務技能2DDMS調試DDMS(DalvikDebugMonitorService)是Android開發(fā)環(huán)境中的Dalvik虛擬機調試監(jiān)控服務。在Android系統平臺中每一個Android應用都運行在一個Dalvik虛擬機實例里,每一個虛擬機實例都是一個獨立的進程空間。虛擬機的線程機制,內存分配和管理,Mutex等都是依賴底層操作系統而實現的。因為Android應用的線程都對應一個Linux線程,虛擬機就可以更多的依賴操作系統的一種機制,這種機制叫線程調度和管理機制。而DDMS在IDE與設備或模擬器之間起著調度的作用,所以它啟動時會與ADB之間建立一個DeviceMonitoringService用于監(jiān)控設備。當設備斷開或鏈接時,這個Service就會通知DDMS做出相應的反應。任務技能當設備連接調試時,DDSM和ADB之間會建立VMMonitoringService用于監(jiān)控虛擬機,并且通過ADBDeamon與虛擬機的debugger建立鏈接,DDMS便可對虛擬機進行截屏、查看線程、堆的信息、LogCat日志、進程管理、廣播狀態(tài)信息、模擬來電呼叫、短信和虛擬地理坐標等操作。任務技能啟動DDSM啟動DDMS其實有三種方法:第一種:首先選中Eclipse選項欄中的“Window”,然后依次選擇“OpenPerspective”→“DDMS”,點擊啟動。如圖1.31所示:任務技能圖1.31啟動DDMS任務技能第二種:安裝完成ADT后Eclipse上方的選項欄中,會有一個DDMS視圖。
如圖1.32所示。圖1.32DDMS的perspective任務技能第三種:點擊如圖1.33所示圖標,選中DDMS選項并雙擊。如圖1.34所示。
圖1.33選項欄
圖1.34對話框任務技能下表是“DDMS”啟動后界面中的各個調試窗口的作用,如下表1.2所示。任務技能調試窗口描述DevicesDevice窗口羅列模擬器中所有的進程,右上角那一排按鈕分別為:調試某個進程、更新某個進程、更新進程堆棧信息、停止某個進程、最后一個圖片按妞按下時抓取android目前的屏幕。Threads列出了此進程的所有線程狀態(tài)running:代碼正在執(zhí)行中sleeping:執(zhí)行線程睡眠monitor:等待接受監(jiān)聽鎖。native:執(zhí)行native代碼vmwait:等待虛擬機zombie:線程在垂死的進程init:線程在初始化starting:線程正在啟動utime:執(zhí)行用戶代碼的累計時間stime:執(zhí)行系統代碼的累計時間name:線程名字VMHeap當選定一個虛擬機時,VMHeap視圖不顯示數據,點擊右邊的“Showheapupdates”按鈕,然后點擊“CauseGC”實施垃圾回收更新堆的狀態(tài)。AllocationTracker在這個視圖里,可以跟蹤每個選中的虛擬機的內存分配情況。點擊“StartTracking”后點擊“GetAllocations”就可以看到。EmulatorControl模擬一些設備狀態(tài)和行為。TelephonyStatus:改變電話語音和數據方案的狀態(tài),模擬不同的網絡速度。TelePhonyActions:發(fā)送模擬電話呼叫和短信到模擬器。LocationControls:發(fā)送虛擬的定位數據到模擬器,可執(zhí)行定位之類的操作。3JUnit測試(1)JUnit主要功能Android測試框架如圖1.35所示,它基于JUnit,并使用JUnit
來測試一些與Android平臺相關的類,或者使用Android的JUint
擴展來測試Android組件AndroidJUint
擴展提供了對Android特定組件(如Activity,Service)的測試支持,這些擴展類提供了一些輔助方法來幫助創(chuàng)建測試使用的類或方法任務技能圖1.35Android測試框架任務技能(2)JUnit的好處可以使測試代碼與產品代碼分開。有利于代碼的打包和測試代碼管理針對某一個類的測試代碼通過較少的改動便可以應用于另一個類的測試,JUnit提供了一個便攜測試類的框架,使測試代碼的編寫更加方便易于集成到測試人員的構建過程中,JUnit和Ant的結合可以實施增量開發(fā)JUnit是公開源代碼的,可以進行二次開發(fā)JUnit具有很強的擴展性,可以方便地對JUnit進行擴展任務技能(3)JUnit單元測試編寫原則簡化測試的編寫,這種簡化包括測試框架的學習和實際測試單元的編寫使測試單元保持持久性可以利用既有的測試來編寫相關的測試(4)JUnit的特征使用斷言方法判斷期望值和實際值差異,返回Boolean值測試驅動設備使用共同的初始化變量或者實例測試包結構便于組織和集成運行支持圖型交互模式和文本交互模式任務技能任務技能4ADBADB的全稱為AndroidDebugBridge,位于AndroidSDK安裝目錄的“platform-tools”子目錄下,利用
ADB工具的前提是在手機上打開USB調試,然后通過數據線連接電腦,在電腦上使用命令模式來操作手機,可進行重啟、進入Recovery、進入Fastboot、推送文件等功能的操作。
技能點5Eclipse快捷鍵
在開發(fā)的時候,使用快捷鍵會更快更準確的編寫程序,部分快捷鍵及其用法如表1.3所示。任務技能快捷鍵快捷鍵功能Ctrl+1快速修復Ctrl+D刪除當前行Ctrl+Alt+↓復制當前行到下一行Ctrl+Alt+↑復制當前行到上一行Alt+↓當前行和下面一行交互位置Alt+↑當前行和上面一行交互位置Alt+←前一個編輯的頁面Alt+→下一個編輯的頁面(Alt+Enter顯示當前選擇資源的屬性Shift+Enter在當前行的下一行插入空行Shift+Ctrl+Enter在當前行插入空行Ctrl+Q定位到最后編輯的地方Ctrl+M最大化當前的Edit或ViewCtr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度跨境電商股份轉讓及供應鏈整合協議
- 2025年度智能公寓退房協議書
- 二零二五年度白酒品牌區(qū)域總代理合作協議
- 二零二五年度企業(yè)財務報表審計委托代理服務合同
- 2025年度車間租賃安全管理制度與執(zhí)行協議
- 風電站運行規(guī)程
- 新一代信息技術人才培養(yǎng)培訓基地建設合同
- 董存瑞的英勇事跡故事解讀
- 2025年故都秋一等獎教案:探索教學的新境界
- 2025年紡織片梭織機合作協議書
- 跟著名著《小王子》學高考英語讀后續(xù)寫絕佳的續(xù)寫清單-高中英語作文復習專項
- 產教融合大學科技園建設項目實施方案
- 交通法律與交通事故處理培訓課程與法律解析
- 廣西版四年級下冊美術教案
- 《換熱器及換熱原理》課件
- 兒童權利公約演示文稿課件
- UPVC排水管技術標準
- MSA-測量系統分析模板
- 血透室公休座談水腫的護理
- 急診預檢分診專家共識課件
- 廣州市海珠區(qū)事業(yè)單位考試歷年真題
評論
0/150
提交評論