Android移動(dòng)開發(fā)項(xiàng)目式教程課件第一講背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)_第1頁
Android移動(dòng)開發(fā)項(xiàng)目式教程課件第一講背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)_第2頁
Android移動(dòng)開發(fā)項(xiàng)目式教程課件第一講背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)_第3頁
Android移動(dòng)開發(fā)項(xiàng)目式教程課件第一講背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)_第4頁
Android移動(dòng)開發(fā)項(xiàng)目式教程課件第一講背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)_第5頁
已閱讀5頁,還剩105頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Android移動(dòng)開發(fā)項(xiàng)目式教程(第2版)Android移動(dòng)開發(fā)項(xiàng)目式教程(第2版)教學(xué)要求講課+上機(jī)=90學(xué)時(shí)講課:50個(gè)學(xué)時(shí)上機(jī):40個(gè)學(xué)時(shí)基本練習(xí)+完整項(xiàng)目每一章知識(shí)的實(shí)訓(xùn)項(xiàng)目期末項(xiàng)目成績(jī)平時(shí)成績(jī)(40%):平時(shí)練習(xí)+考勤考試成績(jī)(60%):閉卷(現(xiàn)場(chǎng)編寫完成一個(gè)項(xiàng)目)課程導(dǎo)論教學(xué)要求講課+上機(jī)=90學(xué)時(shí)課程導(dǎo)論課程導(dǎo)論背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)課程導(dǎo)論背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)移動(dòng)通信技術(shù)背景2014年底,我國(guó)手機(jī)用戶數(shù)已經(jīng)達(dá)到了12.86億戶,移動(dòng)電話用戶普及率達(dá)94.5部/百人現(xiàn)有移動(dòng)通信網(wǎng)絡(luò)分2G、3G、4G三種,4G是第四代移動(dòng)電話行動(dòng)通信標(biāo)準(zhǔn)的簡(jiǎn)稱,該技術(shù)集3G與WLAN于一體,并能夠快速傳輸數(shù)據(jù)、高質(zhì)量的音頻、視頻和圖像等。4G理論上能夠以100Mbps以上的速度下載,比4兆的家用寬帶ADSL快25倍,并能夠滿足幾乎所有用戶對(duì)于無線服務(wù)的要求除了支持傳統(tǒng)的通信業(yè)務(wù)之外,4G的無線高速業(yè)務(wù)也將會(huì)在移動(dòng)終端上產(chǎn)生新的應(yīng)用,如流媒體點(diǎn)播應(yīng)用,與物聯(lián)網(wǎng)、云計(jì)算和大數(shù)據(jù)的綜合應(yīng)用等課程導(dǎo)論移動(dòng)通信技術(shù)背景2014年底,我國(guó)手機(jī)用戶數(shù)已經(jīng)達(dá)到了1移動(dòng)應(yīng)用程序的平臺(tái)(一)JavaME:是Java2,MicroEdition的縮寫,于1999年6月在JavaOne開發(fā)者大會(huì)上公布,它和標(biāo)準(zhǔn)版的J2SE、企業(yè)版的J2EE一起構(gòu)成Java技術(shù)的三大版本。Symbian:Symbian公司成立于1998年6月,是由愛立信、摩托羅拉、諾基亞等公司共同持股組成的合資公司。2008年6月Symbian公司被諾基亞全資收購(gòu),成為其旗下公司。Symbian曾經(jīng)是手機(jī)領(lǐng)域中應(yīng)用范圍最廣的操作系統(tǒng)。Symbian主要支持的開發(fā)語言為C++和Java。WindowsPhone:早期版本是微軟公司在2003年6月發(fā)布的WindowsMobile,最新版本是Windows10Mobile。WindowsPhone主要支持的開發(fā)語言為C#、C++、C和VB。課程導(dǎo)論移動(dòng)應(yīng)用程序的平臺(tái)(一)JavaME:是Java2,Mi移動(dòng)應(yīng)用程序的平臺(tái)(二)iPhone:由蘋果公司在2007年1月上宣布推出。iPhone使用了眾多增強(qiáng)用戶體驗(yàn)的領(lǐng)先技術(shù),多觸點(diǎn)式觸摸屏技術(shù)允許用戶同時(shí)通過多個(gè)觸點(diǎn)進(jìn)行操作,基于傳感器的隱式輸入技術(shù)提高了手機(jī)的智能水平,全新用戶界面設(shè)計(jì)技術(shù)提高了手機(jī)使用的易用性,手機(jī)應(yīng)用商店提供了源源不斷的實(shí)用程序。iPhone將原來普通的手機(jī)電話變成一個(gè)潮流時(shí)尚且功能強(qiáng)大的隨身工具,引起了手機(jī)設(shè)計(jì)領(lǐng)域的一次新變革。iPhone主要支持的開發(fā)語言為Objective-C、C、C++、JavaScript。課程導(dǎo)論移動(dòng)應(yīng)用程序的平臺(tái)(二)iPhone:由蘋果公司在2007年移動(dòng)應(yīng)用程序的平臺(tái)(三)Android:是Google公司于2007年11月宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng),該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。Android產(chǎn)品線較為豐富,覆蓋到商務(wù)、時(shí)尚、娛樂、中低端市場(chǎng)等各種人群。Android的優(yōu)勢(shì)在于對(duì)第三方軟件完全開放,免費(fèi)向開發(fā)人員提供,而且集成了大量的Google應(yīng)用:Google地圖Gmail郵箱等Android主要支持的開發(fā)語言為Java和C++課程導(dǎo)論移動(dòng)應(yīng)用程序的平臺(tái)(三)Android:是Google公司于手機(jī)應(yīng)用商店手機(jī)應(yīng)用商店為程序開發(fā)者提供了更大的平臺(tái),程序開發(fā)者可將手機(jī)應(yīng)用程序發(fā)布到網(wǎng)站上,分享自己的作品,通過用戶下載程序來和服務(wù)商按一定的比例進(jìn)行收益分配,此舉大大激發(fā)了程序開發(fā)者的積極性。課程導(dǎo)論手機(jī)應(yīng)用商店手機(jī)應(yīng)用商店為程序開發(fā)者提供了更大的平臺(tái),程序開課程導(dǎo)論典型移動(dòng)應(yīng)用案例術(shù)課程導(dǎo)論典型移動(dòng)應(yīng)用案例術(shù)移動(dòng)辦公移動(dòng)辦公是指辦公人員可以隨時(shí)隨地處理與業(yè)務(wù)有關(guān)的事情。課程導(dǎo)論

移動(dòng)辦公移動(dòng)辦公是指辦公人員可以隨時(shí)隨地處理與業(yè)務(wù)有關(guān)的事情個(gè)人應(yīng)用針對(duì)手機(jī)自帶軟件功能的不足,設(shè)計(jì)開發(fā)出新的功能,為日常生活中的“衣、食、住、行”提供便利,擔(dān)任智能化助手的角色。課程導(dǎo)論

個(gè)人應(yīng)用針對(duì)手機(jī)自帶軟件功能的不足,設(shè)計(jì)開發(fā)出新的功能,為日手機(jī)游戲手機(jī)游戲的優(yōu)勢(shì)是提供娛樂休閑,在坐車、等人的空虛時(shí)間可以打發(fā)時(shí)間。課程導(dǎo)論

手機(jī)游戲手機(jī)游戲的優(yōu)勢(shì)是提供娛樂休閑,在坐車、等人的空虛時(shí)間課程導(dǎo)論安裝SunJDK課程導(dǎo)論安裝SunJDK任務(wù)分析本次任務(wù)要求完成JDK的下載、安裝和配置。要完成本次任務(wù),需要思考如下幾個(gè)問題:JDK是什么軟件,對(duì)于本項(xiàng)目有何作用?從何處獲得合適的JDK?JDK對(duì)電腦硬件和操作系統(tǒng)的安裝要求?如何安裝JDK?如何配置JDK?課程導(dǎo)論任務(wù)分析本次任務(wù)要求完成JDK的下載、安裝和配置。要完成本次JDKJDK(JavaDevelopmentKit)就是為Java開發(fā)者提供的一組開發(fā)工具包,包括了Java運(yùn)行環(huán)境(JRE,JavaRuntimeEnvironment),一組Java工具和Java標(biāo)準(zhǔn)API類庫主流的JDK由Sun公司開發(fā)(注:2009年Sun公司已經(jīng)被著名的數(shù)據(jù)庫公司Oracle收購(gòu))。一些公司和組織也先后推出自己的JDK,例如IBMJDK、GNUJDK。JDK有適合于Windows、Linux、Solaris等不同操作系統(tǒng)的版本。課程導(dǎo)論JDKJDK(JavaDevelopmentKit)就是Java運(yùn)行環(huán)境包含一個(gè)Java虛擬機(jī)(JVM,JavaVirtualMachine)和運(yùn)行Java程序所需類庫Java虛擬機(jī)的主要作用是解釋字節(jié)碼(bytecode),實(shí)現(xiàn)Java程序的跨平臺(tái)。Java標(biāo)準(zhǔn)API類庫:API(ApplicationProgrammingInterface)又稱應(yīng)用程序編程接口,通過提供一些預(yù)先定義的函數(shù),達(dá)到簡(jiǎn)化開發(fā)人員工作的目的。開發(fā)人員無需訪問源碼或理解內(nèi)部工作機(jī)制的細(xì)節(jié),通過調(diào)用API就可以實(shí)現(xiàn)程序的特定功能。編程語言或二次開發(fā)的軟硬件環(huán)境一般會(huì)提供相應(yīng)的API。JRE一般是包含在JDK中,也可以獨(dú)立安裝JRE。課程導(dǎo)論Java運(yùn)行環(huán)境包含一個(gè)Java虛擬機(jī)(JVM,JavaV任務(wù)實(shí)施(一)下載SunJDK:課程導(dǎo)論任務(wù)實(shí)施(一)下載SunJDK:http://www.or任務(wù)實(shí)施(二)安裝JDK軟件:雙擊上一步所下載的JDK文件【jdk-6u21-windows-i586.exe】課程導(dǎo)論任務(wù)實(shí)施(二)安裝JDK軟件:雙擊上一步所下載的JDK文件【任務(wù)實(shí)施(三)配置環(huán)境變量:主要是需要配置兩個(gè)環(huán)境變量,一個(gè)是PATH,另外一個(gè)是CLASSPATHPATH的作用是表示JDK命令的所在路徑(安裝JDK的bin目錄)。CLASSPATH的作用是表示JDK類庫的所在路徑(安裝JDK的lib目錄)。課程導(dǎo)論任務(wù)實(shí)施(三)配置環(huán)境變量:主要是需要配置兩個(gè)環(huán)境變量,一個(gè)課程導(dǎo)論安裝Android開發(fā)環(huán)境課程導(dǎo)論安裝Android開發(fā)環(huán)境任務(wù)分析本次任務(wù)是要求完成Android開發(fā)軟件的下載、安裝和配置。要完成本次任務(wù),需要思考如下幾個(gè)問題:Eclipse和AndroidSDK是什么軟件,與任務(wù)一的JDK軟件有何關(guān)系,對(duì)Android項(xiàng)目開發(fā)有何作用?從何處獲得正確的Android開發(fā)軟件?Android開發(fā)軟件對(duì)電腦的硬件和操作系統(tǒng)的安裝要求?如何安裝Android開發(fā)軟件?如何配置Android開發(fā)軟件?課程導(dǎo)論任務(wù)分析本次任務(wù)是要求完成Android開發(fā)軟件的下載、安裝IDE集成開發(fā)環(huán)境(IDE,IntegratedDevelopmentEnvironment)旨在提供一個(gè)綜合的圖形用戶開發(fā)環(huán)境,方便程序員進(jìn)行軟件開發(fā)。一般集成了程序生成器、代碼編輯器、編譯器、調(diào)試器和發(fā)布器等,具有代碼編寫、管理、分析、編譯、調(diào)試和發(fā)布等功能。著名的IDE開發(fā)環(huán)境有微軟的VisualStudio.NET,Boland的JBuilder等。開發(fā)Java程序常用的IDE工具有Eclipse、MyEclipse、NetBeans。Google公司在2013年5月推出了針對(duì)Android的IDE開發(fā)工具:AndroidStudio課程導(dǎo)論IDE集成開發(fā)環(huán)境(IDE,IntegratedDeveEclipseEclipse最初是由IBM公司開發(fā),2001年捐獻(xiàn)給開源社區(qū),現(xiàn)由Eclipse基金會(huì)管理。Eclipse所提供的項(xiàng)目致力于建立開放的開發(fā)平臺(tái),具有可擴(kuò)展性的框架、工具和運(yùn)行環(huán)境的建立、發(fā)布以及軟件生命周期的管理。Eclipse社區(qū)提供了適合J2EE、Java、JavaME、C/C++、JavaScript等語言的IDE開發(fā)工具。Eclipse很重要的一個(gè)特色是通過插件來擴(kuò)展開發(fā)平臺(tái)的功能。Eclipse本身只是一個(gè)框架平臺(tái),運(yùn)行在Eclipse平臺(tái)上的各種插件提供我們開發(fā)程序的各種功能。Eclipse的發(fā)行版本帶有最基本的插件,軟件開發(fā)人員可以在此基礎(chǔ)上通過開發(fā)插件建立自己的IDE。課程導(dǎo)論EclipseEclipse最初是由IBM公司開發(fā),2001建立Android的開發(fā)環(huán)境目前提供了兩種配置Android開發(fā)環(huán)境的方法。一種做法:分別下載Eclipse和Android的SDK,然后在Eclipse的菜單中選擇Help->InstallNewSoftware…,輸入/Android/eclipse/來安裝Android的開發(fā)插件ADT,最后在Eclipse的菜單中選擇Windows->Preferences來指定已經(jīng)安裝好的AndroidSDK的所在路徑。第二種方法:下載Eclipse的Android集成開發(fā)包,包括:Eclipse開發(fā)工具,并且已經(jīng)配置好AndroidADT,以及指定好AndroidSDK的所在路徑。由此可見該方法更加簡(jiǎn)單快捷。但目前在Android的官網(wǎng)上只提供AndroidStudio的集成開發(fā)包,不再提供Eclipse的Android開發(fā)集成包??梢栽诎俣壬陷斎胂旅娴乃阉髯郑骸盇ndroidADTBundle下載”課程導(dǎo)論建立Android的開發(fā)環(huán)境目前提供了兩種配置AndroidEclipse的快捷鍵Ctrl+Shift+O:自動(dòng)導(dǎo)入代碼中用到類的所屬包,此組合鍵在編程中非常有用。Alt+/:代碼助手完成一些代碼的提示插入,例如類名補(bǔ)全,方法提示等。Ctrl+Shift+F:格式化當(dāng)前代碼,使代碼整齊。Ctrl+/:注釋當(dāng)前行,再按則取消注釋。Ctrl+D:刪除當(dāng)前行。Ctrl+T快速顯示當(dāng)前類的繼承結(jié)構(gòu)。課程導(dǎo)論Eclipse的快捷鍵Ctrl+Shift+O:自動(dòng)導(dǎo)入代碼任務(wù)實(shí)施(一)AndroidSDK的下載:登錄Android的下載主頁:/sdk/index.html課程導(dǎo)論任務(wù)實(shí)施(一)AndroidSDK的下載:登錄Androi同意協(xié)議,并選擇平臺(tái)版本,即可以點(diǎn)擊下載課程導(dǎo)論同意協(xié)議,并選擇平臺(tái)版本,即可以點(diǎn)擊下載課程導(dǎo)論下載SDK后,配置Android開發(fā)環(huán)境首先將下載壓縮文件進(jìn)行解壓,會(huì)看到如下結(jié)構(gòu):課程導(dǎo)論進(jìn)入eclipse目錄,點(diǎn)擊eclipse.exe文件打開IDE開發(fā)環(huán)境,即可進(jìn)行Android開發(fā)。如果需要建立多種Android平臺(tái)版本,可以點(diǎn)擊Eclipse菜單的Window->AndroidSDKManager來下載其他版本的Android。如果需要建立不同尺寸或者版本的模擬器,可以點(diǎn)擊Eclipse菜單的Window->AndroidVirtualDeviceManager進(jìn)行配置下載SDK后,配置Android開發(fā)環(huán)境首先將下載壓縮文件進(jìn)AndroidSDKManager課程導(dǎo)論AndroidSDKManager課程導(dǎo)論AndroidVirtualDeviceManager課程導(dǎo)論AndroidVirtualDeviceManagerAndroidStudio感興趣的同學(xué)也可以嘗試使用來進(jìn)行Android開發(fā),下載的網(wǎng)址是:/sdk/installing/studio.html。AndroidStudio采用的是intellijIDE的開發(fā)工具,而IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一,它的運(yùn)行速度要較Eclipse快。課程導(dǎo)論AndroidStudio感興趣的同學(xué)也可以嘗試使用來進(jìn)行課程導(dǎo)論測(cè)試開發(fā)環(huán)境課程導(dǎo)論測(cè)試開發(fā)環(huán)境任務(wù)分析要看前面任務(wù)的軟件安裝配置是否能夠正常工作,一個(gè)比較簡(jiǎn)單直接的方法是嘗試通過IDE開發(fā)環(huán)境開發(fā)一個(gè)Android程序:開發(fā)一個(gè)Android程序的主要步驟?如何運(yùn)行一個(gè)Android程序?如何調(diào)試一個(gè)Android程序?課程導(dǎo)論任務(wù)分析要看前面任務(wù)的軟件安裝配置是否能夠正常工作,一個(gè)比較課程導(dǎo)論Android基本概念課程導(dǎo)論Android基本概念A(yù)ndroid基本概念A(yù)ndroid是一個(gè)用于移動(dòng)設(shè)備的軟件集,包括操作系統(tǒng),中間件和關(guān)鍵的應(yīng)用程序。AndroidSDK提供了必須的工具和APIs用于在Android平臺(tái)上使用Java編程語言開發(fā)應(yīng)用程序Android具有如下的特征允許重用和替換組件的應(yīng)用程序框架具有專門為移動(dòng)設(shè)備優(yōu)化的Dalvik虛擬機(jī)集成基于開源引擎WebKit的瀏覽器通過自定義的2D圖形庫優(yōu)化顯示圖形,提供基于OpenGLES1.0和2.0規(guī)范的3D圖形支持用于結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)的SQLite為常見的聲音,視頻和圖形格式,例如:MPEG4,MP3,PNGGSM、CDMA、TDSCDMA電話(依賴于硬件)藍(lán)牙、EDGE、3G和WiFi(依賴于硬件)照相機(jī)、GPS、指南針和加速度傳感器(依賴于硬件)豐富的開發(fā)環(huán)境:設(shè)備模擬器、調(diào)試工具、內(nèi)存和性能分析課程導(dǎo)論Android基本概念A(yù)ndroid是一個(gè)用于移動(dòng)設(shè)備的軟件Android的主要版本發(fā)展課程導(dǎo)論

Android的主要版本發(fā)展課程導(dǎo)論Android的體系結(jié)構(gòu)課程導(dǎo)論Android的體系結(jié)構(gòu)課程導(dǎo)論Android體系結(jié)構(gòu)各層功能說明(一)應(yīng)用程序(APPLICATIONS):是Android推出的一組使用Java編寫的核心應(yīng)用程序,如:Email客戶端,短信程序,日歷,地圖,通信錄。應(yīng)用程序框架(ApplicationFramework):是Android為開發(fā)者提供的一個(gè)開放平臺(tái),在應(yīng)用程序的下一層。開放者可以通過它們自由地充分利用設(shè)備硬件,訪問位置信息,運(yùn)行后臺(tái)服務(wù),設(shè)置告警,在狀態(tài)欄上增加通知等。開發(fā)者可以和核心應(yīng)用程序那樣調(diào)用同樣的框架APIs。應(yīng)用程序框架提供的是一組服務(wù)和系統(tǒng),這些會(huì)在程序開發(fā)過程中直接使用到,包括:豐富且具有可擴(kuò)展性的視圖:可用于構(gòu)建應(yīng)用程序的界面內(nèi)容提供者:允許應(yīng)用程序訪問其它應(yīng)用程序的數(shù)據(jù)(例如:通信錄),或者共享它們自己的數(shù)據(jù)資源管理器:提供對(duì)非代碼資源,如本地化字符串,圖像的管理通知管理器:允許應(yīng)用程序在狀態(tài)欄上顯示定制的警報(bào)?;顒?dòng)管理器:管理應(yīng)用程序的生命周期,提供導(dǎo)航回退功能課程導(dǎo)論Android體系結(jié)構(gòu)各層功能說明(一)應(yīng)用程序(APPLAndroid體系結(jié)構(gòu)各層功能說明(二)Libraries:Android包括的一組C/C++庫,它們用于Android系統(tǒng)不同的組件。這些功能通過Android應(yīng)用程序框架對(duì)開發(fā)者開放,包括:C語言系統(tǒng)庫、多媒體庫、外觀管理器、LibWebCore、SGL、3D庫、FreeType、SQLite等。

AndroidRuntime:Android包括的一組核心庫,提供大部分Java編程語言核心庫的功能。每一個(gè)Android應(yīng)用程序是在Dalvik虛擬機(jī)的實(shí)例下以進(jìn)程形式運(yùn)行。Dalvik虛擬機(jī)執(zhí)行的文件是Dalvik可執(zhí)行格式(DalvikExecutable,稱為.dex),它被優(yōu)化成最小內(nèi)存占用。與Java虛擬機(jī)時(shí)基于堆棧不同,Dalvik虛擬機(jī)是基于寄存器的,它通過轉(zhuǎn)換工具dx將Java字節(jié)碼轉(zhuǎn)換成dex格式。Linux內(nèi)核:Android依賴于Linux某個(gè)版本的核心系統(tǒng)服務(wù),例如:安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧、驅(qū)動(dòng)程序模型。內(nèi)核也作為硬件和軟件堆棧其余部分之間的抽象層。課程導(dǎo)論Android體系結(jié)構(gòu)各層功能說明(二)Libraries對(duì)Android應(yīng)用程序的理解Android應(yīng)用程序主要是由Java語言編寫,但對(duì)于特殊性能要求的功能,也可以先使用C或者C++編寫代碼,建立動(dòng)態(tài)庫,再通過NDK將其與Java應(yīng)用一起打包成apk。AndroidSDK工具將代碼、數(shù)據(jù)和資源文件編譯為一個(gè)Android包,它是一個(gè)后綴為.apk的歸檔文件。.apk歸檔文件將被用在設(shè)備上安裝應(yīng)用程序。Android應(yīng)用程序是可以訪問系統(tǒng)服務(wù)的,例如:應(yīng)用程序可以請(qǐng)求訪問用戶的通訊錄,短信,SD存儲(chǔ)卡,攝像頭,藍(lán)牙,以及更多的設(shè)備,但要求用戶在安裝應(yīng)用程序時(shí)必須被授予相應(yīng)的權(quán)限。課程導(dǎo)論對(duì)Android應(yīng)用程序的理解Android應(yīng)用程序主要是由Android的組件應(yīng)用程序組件是一個(gè)Android應(yīng)用程序的重要基石,在編程時(shí)根據(jù)需要編寫相應(yīng)的組件。有四種不同類型的應(yīng)用程序組件。每個(gè)類型服務(wù)于不同的目的:Activity:活動(dòng)表示一個(gè)用戶界面,可以和用戶進(jìn)行交互。例如,Email應(yīng)用程序可以有一個(gè)顯示新郵件的activity,一個(gè)撰寫電子郵件的activity和一個(gè)閱讀郵件的activity。雖然這些activities一起為Email應(yīng)用程序提供用戶體驗(yàn),但它們每個(gè)都是相互獨(dú)立Service:服務(wù)是一個(gè)運(yùn)行在后臺(tái)的組件(并不提供用戶界面),一般用于執(zhí)行需要長(zhǎng)時(shí)間運(yùn)行的操作或執(zhí)行遠(yuǎn)程進(jìn)程的工作。例如:某個(gè)service可能會(huì)在后臺(tái)播放音樂。Contentprovider:內(nèi)容提供者管理應(yīng)用程序共享的數(shù)據(jù)集。例如:讀取系統(tǒng)自帶的聯(lián)系人信息。Broadcastreceiver:廣播接收者是一個(gè)負(fù)責(zé)全系統(tǒng)廣播通知的組件。例如:廣播電池沒有電。課程導(dǎo)論Android的組件應(yīng)用程序組件是一個(gè)Android應(yīng)用程序認(rèn)識(shí)手機(jī)模擬器手機(jī)模擬器(MobileEmulator)的作用是在電腦上模擬手機(jī)環(huán)境,從而可以在電腦上進(jìn)行手機(jī)程序開發(fā)、調(diào)試和發(fā)布。針對(duì)不同平臺(tái)版本、不同尺寸的手機(jī)有不同的手機(jī)模擬器。課程導(dǎo)論認(rèn)識(shí)手機(jī)模擬器手機(jī)模擬器(MobileEmulator)的Activity應(yīng)用程序的生命周期Activity是Android程序圖形用戶界面的基本組成部件。Android程序由一個(gè)或者多個(gè)Activity類組成,而程序都是從Activity類開始執(zhí)行,系統(tǒng)規(guī)定了Activity的生命周期有創(chuàng)建,開始,喚醒,暫停和銷毀五種狀態(tài)。Android定義了一系列與生命周期相關(guān)的方法,在我們自己的Activity中,只是根據(jù)需要重寫需要的方法來實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)初始化,和回收等操作。開發(fā)一個(gè)Android程序,首選需要?jiǎng)?chuàng)建一個(gè)繼承于Activity的類。以下為編寫Activity程序,并實(shí)現(xiàn)其生命周期相應(yīng)操作的示例:課程導(dǎo)論Activity應(yīng)用程序的生命周期Activity是AndrActivity應(yīng)用程序的生命周期代碼示例課程導(dǎo)論publicclassMyActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){//一個(gè)Activity的實(shí)例啟動(dòng)時(shí)調(diào)用的第一個(gè)方法。一般情況下,在這里編寫初始化數(shù)據(jù)、從Xml布局文件中加載設(shè)計(jì)好的用戶界面等方面的操作}protectedvoidonStart(){

//在onCreate()方法執(zhí)行之后被調(diào)用,或者在Activity從Stop狀態(tài)轉(zhuǎn)換為Active狀態(tài)時(shí)被調(diào)用}protectedvoidonResume(){

//在Activity從Pause狀態(tài)轉(zhuǎn)換到Active狀態(tài)時(shí)被調(diào)用,或者在onStart()方法執(zhí)行之后被調(diào)用。onResume()方法也較為適合放入初始化數(shù)據(jù)的操作}protectedvoidonPause(){

//從Active狀態(tài)轉(zhuǎn)換到Pause狀態(tài)時(shí)被調(diào)用}protectedvoidonStop(){

//從Active狀態(tài)轉(zhuǎn)換到Stop狀態(tài)時(shí)被調(diào)用,一般在這里保存Activity的狀態(tài)信息}protectedvoidonRestart(){//當(dāng)處于stop狀態(tài)時(shí),當(dāng)前Activity被重新向用戶顯示時(shí)調(diào)用該方法}protectedvoidonDestroy(){

//在Activity結(jié)束時(shí)調(diào)用,在這里一般做些釋放資源,清理內(nèi)存等工作}}Activity應(yīng)用程序的生命周期代碼示例課程導(dǎo)論publiActivity應(yīng)用程序的生命周期課程導(dǎo)論Activity應(yīng)用程序的生命周期課程導(dǎo)論開發(fā)第一個(gè)Android程序第一步是選擇創(chuàng)建一個(gè)AndroidApplicationProject項(xiàng)目,在創(chuàng)建向?qū)е兄付☉?yīng)用程序名稱、包名稱、運(yùn)行的Android版本等信息。第二步是根據(jù)項(xiàng)目的需要在Activity類中編寫代碼,或者新創(chuàng)建其它類,在Activity類中進(jìn)行引用。課程導(dǎo)論開發(fā)第一個(gè)Android程序第一步是選擇創(chuàng)建一個(gè)AndroiAndroid項(xiàng)目主要目錄的作用課程導(dǎo)論Android項(xiàng)目主要目錄的作用課程導(dǎo)論自動(dòng)生成的代碼publicclassMainActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

}publicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;

}}課程導(dǎo)論自動(dòng)生成的代碼publicclassMainActivi代碼分析MainActivity類繼承了Activity抽象類。setContentView方法是設(shè)置用戶界面,其中參數(shù)R.layout.activity_main是一個(gè)表示界面布局信息的XML文件。在Android開發(fā)中,界面設(shè)計(jì)很多是依靠布局文件來完成。這在后面的項(xiàng)目中有詳細(xì)的介紹。onCreateOptionsMenu方法是創(chuàng)建程序的菜單,其中R.menu.main也是一個(gè)描述菜單信息的XML文件。onCreateOptionsMenu方法在程序中并不是必須的,可以刪除掉。在Android項(xiàng)目中會(huì)自動(dòng)生成一些由XML編寫的配置文件,他們?cè)贏ndroid開發(fā)中起到很重要的作用。課程導(dǎo)論代碼分析MainActivity類繼承了Activity抽象AndroidManifest.xml文件的作用AndroidManifest.xml文件可以理解為關(guān)于Android應(yīng)用程序的清單文件,用于向Android系統(tǒng)提供關(guān)于應(yīng)用程序的重要信息。例如:一個(gè)Android應(yīng)用程序中一般包含多個(gè)Activity類,要具體區(qū)分Android程序首先執(zhí)行的是哪個(gè)Activity類,程序有哪些Activity類可由系統(tǒng)識(shí)別,系統(tǒng)有哪些權(quán)限可以交由應(yīng)用程序使用,應(yīng)用程序的圖標(biāo)、程序名稱管理、應(yīng)用程序需要用的第三方包等。在Android系統(tǒng)開始啟動(dòng)一個(gè)應(yīng)用程序組件時(shí),系統(tǒng)必須讀取AndroidManifest.xml文件以便知道組件是否存在。任何一個(gè)Android項(xiàng)目都需要使用該文件,并要求放在項(xiàng)目的根目錄下。課程導(dǎo)論AndroidManifest.xml文件的作用AndroiXML基礎(chǔ)知識(shí)簡(jiǎn)述標(biāo)記語言采用一套標(biāo)記標(biāo)簽來表示文本信息,標(biāo)簽是由尖括號(hào)包圍的關(guān)鍵詞,如<html>,其作用是描述文本信息。XML(eXtensibleMarkupLanguage)稱為可擴(kuò)展標(biāo)記語言。XML文檔的后綴是.xml,既可以使用專門的編輯工具,也可以使用文本編輯器對(duì)其進(jìn)行編寫。XML的標(biāo)記沒有被預(yù)定義,用戶可以自行定義標(biāo)記來描述數(shù)據(jù)。與HTML(HyperTextMarkupLanguage)的差異在于,XML主要用來存儲(chǔ)規(guī)范的數(shù)據(jù)信息。每個(gè)XML元素都以一個(gè)起始標(biāo)簽開始,以一個(gè)結(jié)束標(biāo)簽收尾。起始標(biāo)記以<符號(hào)開始,以>符號(hào)結(jié)束。結(jié)束標(biāo)簽以</符號(hào)開始,以>符號(hào)結(jié)束。XML元素可以帶有多個(gè)屬性,屬性值需要添加引號(hào)。課程導(dǎo)論XML基礎(chǔ)知識(shí)簡(jiǎn)述標(biāo)記語言采用一套標(biāo)記標(biāo)簽來表示文本信息,標(biāo)AndroidManifest.xml文件的描述聲明組件:AndroidManifest.xml文件的主要任務(wù)是通知Android系統(tǒng)應(yīng)用程序包含的組件??梢赃@樣定義一個(gè)Activity。課程導(dǎo)論<?xmlversion="1.0"encoding="utf-8"?><manifest...><applicationandroid:icon="@drawable/app_icon.png"...><activityandroid:name="ject.ExampleActivity"android:label="@string/example_label"...></activity>...</application></manifest>在<application>元素中,android:icon屬性指明應(yīng)用程序圖標(biāo)用到的資源,在<activity>元素中,android:name屬性指明Activity子類的完整名稱,android:label屬性作為Activity在手機(jī)界面上用戶可見的標(biāo)簽。AndroidManifest.xml文件的描述聲明組件:AAndroid應(yīng)用程序的運(yùn)行和調(diào)試方法選中Android項(xiàng)目,點(diǎn)擊右鍵,選擇RunAS->AndroidApplicaion。也可以使用Eclipse工具欄上的圖標(biāo)來運(yùn)行項(xiàng)目選中Android項(xiàng)目,點(diǎn)擊右鍵,選擇DebugAS->AndroidApplicaion。該運(yùn)行方法相當(dāng)于對(duì)Android項(xiàng)目進(jìn)行斷點(diǎn)調(diào)試,以便于找出程序中的問題。除了可以利用Java的System.out.println()方法輸出信息之外,還可以利用Android提供的Log.v(Stringtag,Stringmsg)方法以日志方式輸出相應(yīng)的信息,其中參數(shù)tag表示標(biāo)簽,參數(shù)msg表示內(nèi)容,取值都可以在編程中指定。這些信息可以通過Eclipse的LogCat視圖進(jìn)行查看如果發(fā)現(xiàn)項(xiàng)目的奇怪的報(bào)錯(cuò),可以執(zhí)行Eclipse菜單的Project->Clean菜單項(xiàng),來重新編譯項(xiàng)目課程導(dǎo)論Android應(yīng)用程序的運(yùn)行和調(diào)試方法選中Android項(xiàng)目實(shí)訓(xùn)項(xiàng)目1建立Android開發(fā)環(huán)境(P38)1.實(shí)訓(xùn)目的與要求

學(xué)會(huì)下載、安裝和配置Android開發(fā)環(huán)境所需的軟件,建立Android程序的開發(fā)環(huán)境。2.實(shí)訓(xùn)內(nèi)容實(shí)訓(xùn)內(nèi)容為任務(wù)一、二、三中項(xiàng)目實(shí)施內(nèi)容,按照規(guī)劃任務(wù)內(nèi)容,實(shí)施實(shí)訓(xùn)。課程導(dǎo)論實(shí)訓(xùn)項(xiàng)目1建立Android開發(fā)環(huán)境(P38)1.實(shí)訓(xùn)實(shí)訓(xùn)項(xiàng)目2開發(fā)運(yùn)行一個(gè)簡(jiǎn)單的Android程序1.實(shí)訓(xùn)目的與要求學(xué)會(huì)利用Eclipse自動(dòng)生成一個(gè)Android程序,并使用不同的模擬器運(yùn)行,以便對(duì)Android程序的開發(fā)步驟有初步的認(rèn)識(shí)。2.實(shí)訓(xùn)內(nèi)容實(shí)訓(xùn)內(nèi)容為任務(wù)四中項(xiàng)目實(shí)施內(nèi)容,按照規(guī)劃任務(wù)內(nèi)容,實(shí)施實(shí)訓(xùn)。3.思考運(yùn)行不同的手機(jī)模擬器對(duì)Android的程序開發(fā)有什么作用?課程導(dǎo)論實(shí)訓(xùn)項(xiàng)目2開發(fā)運(yùn)行一個(gè)簡(jiǎn)單的Android程序1.實(shí)訓(xùn)目Android移動(dòng)開發(fā)項(xiàng)目式教程(第2版)Android移動(dòng)開發(fā)項(xiàng)目式教程(第2版)教學(xué)要求講課+上機(jī)=90學(xué)時(shí)講課:50個(gè)學(xué)時(shí)上機(jī):40個(gè)學(xué)時(shí)基本練習(xí)+完整項(xiàng)目每一章知識(shí)的實(shí)訓(xùn)項(xiàng)目期末項(xiàng)目成績(jī)平時(shí)成績(jī)(40%):平時(shí)練習(xí)+考勤考試成績(jī)(60%):閉卷(現(xiàn)場(chǎng)編寫完成一個(gè)項(xiàng)目)課程導(dǎo)論教學(xué)要求講課+上機(jī)=90學(xué)時(shí)課程導(dǎo)論課程導(dǎo)論背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)課程導(dǎo)論背景知識(shí):移動(dòng)應(yīng)用開發(fā)技術(shù)移動(dòng)通信技術(shù)背景2014年底,我國(guó)手機(jī)用戶數(shù)已經(jīng)達(dá)到了12.86億戶,移動(dòng)電話用戶普及率達(dá)94.5部/百人現(xiàn)有移動(dòng)通信網(wǎng)絡(luò)分2G、3G、4G三種,4G是第四代移動(dòng)電話行動(dòng)通信標(biāo)準(zhǔn)的簡(jiǎn)稱,該技術(shù)集3G與WLAN于一體,并能夠快速傳輸數(shù)據(jù)、高質(zhì)量的音頻、視頻和圖像等。4G理論上能夠以100Mbps以上的速度下載,比4兆的家用寬帶ADSL快25倍,并能夠滿足幾乎所有用戶對(duì)于無線服務(wù)的要求除了支持傳統(tǒng)的通信業(yè)務(wù)之外,4G的無線高速業(yè)務(wù)也將會(huì)在移動(dòng)終端上產(chǎn)生新的應(yīng)用,如流媒體點(diǎn)播應(yīng)用,與物聯(lián)網(wǎng)、云計(jì)算和大數(shù)據(jù)的綜合應(yīng)用等課程導(dǎo)論移動(dòng)通信技術(shù)背景2014年底,我國(guó)手機(jī)用戶數(shù)已經(jīng)達(dá)到了1移動(dòng)應(yīng)用程序的平臺(tái)(一)JavaME:是Java2,MicroEdition的縮寫,于1999年6月在JavaOne開發(fā)者大會(huì)上公布,它和標(biāo)準(zhǔn)版的J2SE、企業(yè)版的J2EE一起構(gòu)成Java技術(shù)的三大版本。Symbian:Symbian公司成立于1998年6月,是由愛立信、摩托羅拉、諾基亞等公司共同持股組成的合資公司。2008年6月Symbian公司被諾基亞全資收購(gòu),成為其旗下公司。Symbian曾經(jīng)是手機(jī)領(lǐng)域中應(yīng)用范圍最廣的操作系統(tǒng)。Symbian主要支持的開發(fā)語言為C++和Java。WindowsPhone:早期版本是微軟公司在2003年6月發(fā)布的WindowsMobile,最新版本是Windows10Mobile。WindowsPhone主要支持的開發(fā)語言為C#、C++、C和VB。課程導(dǎo)論移動(dòng)應(yīng)用程序的平臺(tái)(一)JavaME:是Java2,Mi移動(dòng)應(yīng)用程序的平臺(tái)(二)iPhone:由蘋果公司在2007年1月上宣布推出。iPhone使用了眾多增強(qiáng)用戶體驗(yàn)的領(lǐng)先技術(shù),多觸點(diǎn)式觸摸屏技術(shù)允許用戶同時(shí)通過多個(gè)觸點(diǎn)進(jìn)行操作,基于傳感器的隱式輸入技術(shù)提高了手機(jī)的智能水平,全新用戶界面設(shè)計(jì)技術(shù)提高了手機(jī)使用的易用性,手機(jī)應(yīng)用商店提供了源源不斷的實(shí)用程序。iPhone將原來普通的手機(jī)電話變成一個(gè)潮流時(shí)尚且功能強(qiáng)大的隨身工具,引起了手機(jī)設(shè)計(jì)領(lǐng)域的一次新變革。iPhone主要支持的開發(fā)語言為Objective-C、C、C++、JavaScript。課程導(dǎo)論移動(dòng)應(yīng)用程序的平臺(tái)(二)iPhone:由蘋果公司在2007年移動(dòng)應(yīng)用程序的平臺(tái)(三)Android:是Google公司于2007年11月宣布的基于Linux平臺(tái)的開源手機(jī)操作系統(tǒng),該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。Android產(chǎn)品線較為豐富,覆蓋到商務(wù)、時(shí)尚、娛樂、中低端市場(chǎng)等各種人群。Android的優(yōu)勢(shì)在于對(duì)第三方軟件完全開放,免費(fèi)向開發(fā)人員提供,而且集成了大量的Google應(yīng)用:Google地圖Gmail郵箱等Android主要支持的開發(fā)語言為Java和C++課程導(dǎo)論移動(dòng)應(yīng)用程序的平臺(tái)(三)Android:是Google公司于手機(jī)應(yīng)用商店手機(jī)應(yīng)用商店為程序開發(fā)者提供了更大的平臺(tái),程序開發(fā)者可將手機(jī)應(yīng)用程序發(fā)布到網(wǎng)站上,分享自己的作品,通過用戶下載程序來和服務(wù)商按一定的比例進(jìn)行收益分配,此舉大大激發(fā)了程序開發(fā)者的積極性。課程導(dǎo)論手機(jī)應(yīng)用商店手機(jī)應(yīng)用商店為程序開發(fā)者提供了更大的平臺(tái),程序開課程導(dǎo)論典型移動(dòng)應(yīng)用案例術(shù)課程導(dǎo)論典型移動(dòng)應(yīng)用案例術(shù)移動(dòng)辦公移動(dòng)辦公是指辦公人員可以隨時(shí)隨地處理與業(yè)務(wù)有關(guān)的事情。課程導(dǎo)論

移動(dòng)辦公移動(dòng)辦公是指辦公人員可以隨時(shí)隨地處理與業(yè)務(wù)有關(guān)的事情個(gè)人應(yīng)用針對(duì)手機(jī)自帶軟件功能的不足,設(shè)計(jì)開發(fā)出新的功能,為日常生活中的“衣、食、住、行”提供便利,擔(dān)任智能化助手的角色。課程導(dǎo)論

個(gè)人應(yīng)用針對(duì)手機(jī)自帶軟件功能的不足,設(shè)計(jì)開發(fā)出新的功能,為日手機(jī)游戲手機(jī)游戲的優(yōu)勢(shì)是提供娛樂休閑,在坐車、等人的空虛時(shí)間可以打發(fā)時(shí)間。課程導(dǎo)論

手機(jī)游戲手機(jī)游戲的優(yōu)勢(shì)是提供娛樂休閑,在坐車、等人的空虛時(shí)間課程導(dǎo)論安裝SunJDK課程導(dǎo)論安裝SunJDK任務(wù)分析本次任務(wù)要求完成JDK的下載、安裝和配置。要完成本次任務(wù),需要思考如下幾個(gè)問題:JDK是什么軟件,對(duì)于本項(xiàng)目有何作用?從何處獲得合適的JDK?JDK對(duì)電腦硬件和操作系統(tǒng)的安裝要求?如何安裝JDK?如何配置JDK?課程導(dǎo)論任務(wù)分析本次任務(wù)要求完成JDK的下載、安裝和配置。要完成本次JDKJDK(JavaDevelopmentKit)就是為Java開發(fā)者提供的一組開發(fā)工具包,包括了Java運(yùn)行環(huán)境(JRE,JavaRuntimeEnvironment),一組Java工具和Java標(biāo)準(zhǔn)API類庫主流的JDK由Sun公司開發(fā)(注:2009年Sun公司已經(jīng)被著名的數(shù)據(jù)庫公司Oracle收購(gòu))。一些公司和組織也先后推出自己的JDK,例如IBMJDK、GNUJDK。JDK有適合于Windows、Linux、Solaris等不同操作系統(tǒng)的版本。課程導(dǎo)論JDKJDK(JavaDevelopmentKit)就是Java運(yùn)行環(huán)境包含一個(gè)Java虛擬機(jī)(JVM,JavaVirtualMachine)和運(yùn)行Java程序所需類庫Java虛擬機(jī)的主要作用是解釋字節(jié)碼(bytecode),實(shí)現(xiàn)Java程序的跨平臺(tái)。Java標(biāo)準(zhǔn)API類庫:API(ApplicationProgrammingInterface)又稱應(yīng)用程序編程接口,通過提供一些預(yù)先定義的函數(shù),達(dá)到簡(jiǎn)化開發(fā)人員工作的目的。開發(fā)人員無需訪問源碼或理解內(nèi)部工作機(jī)制的細(xì)節(jié),通過調(diào)用API就可以實(shí)現(xiàn)程序的特定功能。編程語言或二次開發(fā)的軟硬件環(huán)境一般會(huì)提供相應(yīng)的API。JRE一般是包含在JDK中,也可以獨(dú)立安裝JRE。課程導(dǎo)論Java運(yùn)行環(huán)境包含一個(gè)Java虛擬機(jī)(JVM,JavaV任務(wù)實(shí)施(一)下載SunJDK:課程導(dǎo)論任務(wù)實(shí)施(一)下載SunJDK:http://www.or任務(wù)實(shí)施(二)安裝JDK軟件:雙擊上一步所下載的JDK文件【jdk-6u21-windows-i586.exe】課程導(dǎo)論任務(wù)實(shí)施(二)安裝JDK軟件:雙擊上一步所下載的JDK文件【任務(wù)實(shí)施(三)配置環(huán)境變量:主要是需要配置兩個(gè)環(huán)境變量,一個(gè)是PATH,另外一個(gè)是CLASSPATHPATH的作用是表示JDK命令的所在路徑(安裝JDK的bin目錄)。CLASSPATH的作用是表示JDK類庫的所在路徑(安裝JDK的lib目錄)。課程導(dǎo)論任務(wù)實(shí)施(三)配置環(huán)境變量:主要是需要配置兩個(gè)環(huán)境變量,一個(gè)課程導(dǎo)論安裝Android開發(fā)環(huán)境課程導(dǎo)論安裝Android開發(fā)環(huán)境任務(wù)分析本次任務(wù)是要求完成Android開發(fā)軟件的下載、安裝和配置。要完成本次任務(wù),需要思考如下幾個(gè)問題:Eclipse和AndroidSDK是什么軟件,與任務(wù)一的JDK軟件有何關(guān)系,對(duì)Android項(xiàng)目開發(fā)有何作用?從何處獲得正確的Android開發(fā)軟件?Android開發(fā)軟件對(duì)電腦的硬件和操作系統(tǒng)的安裝要求?如何安裝Android開發(fā)軟件?如何配置Android開發(fā)軟件?課程導(dǎo)論任務(wù)分析本次任務(wù)是要求完成Android開發(fā)軟件的下載、安裝IDE集成開發(fā)環(huán)境(IDE,IntegratedDevelopmentEnvironment)旨在提供一個(gè)綜合的圖形用戶開發(fā)環(huán)境,方便程序員進(jìn)行軟件開發(fā)。一般集成了程序生成器、代碼編輯器、編譯器、調(diào)試器和發(fā)布器等,具有代碼編寫、管理、分析、編譯、調(diào)試和發(fā)布等功能。著名的IDE開發(fā)環(huán)境有微軟的VisualStudio.NET,Boland的JBuilder等。開發(fā)Java程序常用的IDE工具有Eclipse、MyEclipse、NetBeans。Google公司在2013年5月推出了針對(duì)Android的IDE開發(fā)工具:AndroidStudio課程導(dǎo)論IDE集成開發(fā)環(huán)境(IDE,IntegratedDeveEclipseEclipse最初是由IBM公司開發(fā),2001年捐獻(xiàn)給開源社區(qū),現(xiàn)由Eclipse基金會(huì)管理。Eclipse所提供的項(xiàng)目致力于建立開放的開發(fā)平臺(tái),具有可擴(kuò)展性的框架、工具和運(yùn)行環(huán)境的建立、發(fā)布以及軟件生命周期的管理。Eclipse社區(qū)提供了適合J2EE、Java、JavaME、C/C++、JavaScript等語言的IDE開發(fā)工具。Eclipse很重要的一個(gè)特色是通過插件來擴(kuò)展開發(fā)平臺(tái)的功能。Eclipse本身只是一個(gè)框架平臺(tái),運(yùn)行在Eclipse平臺(tái)上的各種插件提供我們開發(fā)程序的各種功能。Eclipse的發(fā)行版本帶有最基本的插件,軟件開發(fā)人員可以在此基礎(chǔ)上通過開發(fā)插件建立自己的IDE。課程導(dǎo)論EclipseEclipse最初是由IBM公司開發(fā),2001建立Android的開發(fā)環(huán)境目前提供了兩種配置Android開發(fā)環(huán)境的方法。一種做法:分別下載Eclipse和Android的SDK,然后在Eclipse的菜單中選擇Help->InstallNewSoftware…,輸入/Android/eclipse/來安裝Android的開發(fā)插件ADT,最后在Eclipse的菜單中選擇Windows->Preferences來指定已經(jīng)安裝好的AndroidSDK的所在路徑。第二種方法:下載Eclipse的Android集成開發(fā)包,包括:Eclipse開發(fā)工具,并且已經(jīng)配置好AndroidADT,以及指定好AndroidSDK的所在路徑。由此可見該方法更加簡(jiǎn)單快捷。但目前在Android的官網(wǎng)上只提供AndroidStudio的集成開發(fā)包,不再提供Eclipse的Android開發(fā)集成包??梢栽诎俣壬陷斎胂旅娴乃阉髯郑骸盇ndroidADTBundle下載”課程導(dǎo)論建立Android的開發(fā)環(huán)境目前提供了兩種配置AndroidEclipse的快捷鍵Ctrl+Shift+O:自動(dòng)導(dǎo)入代碼中用到類的所屬包,此組合鍵在編程中非常有用。Alt+/:代碼助手完成一些代碼的提示插入,例如類名補(bǔ)全,方法提示等。Ctrl+Shift+F:格式化當(dāng)前代碼,使代碼整齊。Ctrl+/:注釋當(dāng)前行,再按則取消注釋。Ctrl+D:刪除當(dāng)前行。Ctrl+T快速顯示當(dāng)前類的繼承結(jié)構(gòu)。課程導(dǎo)論Eclipse的快捷鍵Ctrl+Shift+O:自動(dòng)導(dǎo)入代碼任務(wù)實(shí)施(一)AndroidSDK的下載:登錄Android的下載主頁:/sdk/index.html課程導(dǎo)論任務(wù)實(shí)施(一)AndroidSDK的下載:登錄Androi同意協(xié)議,并選擇平臺(tái)版本,即可以點(diǎn)擊下載課程導(dǎo)論同意協(xié)議,并選擇平臺(tái)版本,即可以點(diǎn)擊下載課程導(dǎo)論下載SDK后,配置Android開發(fā)環(huán)境首先將下載壓縮文件進(jìn)行解壓,會(huì)看到如下結(jié)構(gòu):課程導(dǎo)論進(jìn)入eclipse目錄,點(diǎn)擊eclipse.exe文件打開IDE開發(fā)環(huán)境,即可進(jìn)行Android開發(fā)。如果需要建立多種Android平臺(tái)版本,可以點(diǎn)擊Eclipse菜單的Window->AndroidSDKManager來下載其他版本的Android。如果需要建立不同尺寸或者版本的模擬器,可以點(diǎn)擊Eclipse菜單的Window->AndroidVirtualDeviceManager進(jìn)行配置下載SDK后,配置Android開發(fā)環(huán)境首先將下載壓縮文件進(jìn)AndroidSDKManager課程導(dǎo)論AndroidSDKManager課程導(dǎo)論AndroidVirtualDeviceManager課程導(dǎo)論AndroidVirtualDeviceManagerAndroidStudio感興趣的同學(xué)也可以嘗試使用來進(jìn)行Android開發(fā),下載的網(wǎng)址是:/sdk/installing/studio.html。AndroidStudio采用的是intellijIDE的開發(fā)工具,而IntelliJ在業(yè)界被公認(rèn)為最好的java開發(fā)工具之一,它的運(yùn)行速度要較Eclipse快。課程導(dǎo)論AndroidStudio感興趣的同學(xué)也可以嘗試使用來進(jìn)行課程導(dǎo)論測(cè)試開發(fā)環(huán)境課程導(dǎo)論測(cè)試開發(fā)環(huán)境任務(wù)分析要看前面任務(wù)的軟件安裝配置是否能夠正常工作,一個(gè)比較簡(jiǎn)單直接的方法是嘗試通過IDE開發(fā)環(huán)境開發(fā)一個(gè)Android程序:開發(fā)一個(gè)Android程序的主要步驟?如何運(yùn)行一個(gè)Android程序?如何調(diào)試一個(gè)Android程序?課程導(dǎo)論任務(wù)分析要看前面任務(wù)的軟件安裝配置是否能夠正常工作,一個(gè)比較課程導(dǎo)論Android基本概念課程導(dǎo)論Android基本概念A(yù)ndroid基本概念A(yù)ndroid是一個(gè)用于移動(dòng)設(shè)備的軟件集,包括操作系統(tǒng),中間件和關(guān)鍵的應(yīng)用程序。AndroidSDK提供了必須的工具和APIs用于在Android平臺(tái)上使用Java編程語言開發(fā)應(yīng)用程序Android具有如下的特征允許重用和替換組件的應(yīng)用程序框架具有專門為移動(dòng)設(shè)備優(yōu)化的Dalvik虛擬機(jī)集成基于開源引擎WebKit的瀏覽器通過自定義的2D圖形庫優(yōu)化顯示圖形,提供基于OpenGLES1.0和2.0規(guī)范的3D圖形支持用于結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)的SQLite為常見的聲音,視頻和圖形格式,例如:MPEG4,MP3,PNGGSM、CDMA、TDSCDMA電話(依賴于硬件)藍(lán)牙、EDGE、3G和WiFi(依賴于硬件)照相機(jī)、GPS、指南針和加速度傳感器(依賴于硬件)豐富的開發(fā)環(huán)境:設(shè)備模擬器、調(diào)試工具、內(nèi)存和性能分析課程導(dǎo)論Android基本概念A(yù)ndroid是一個(gè)用于移動(dòng)設(shè)備的軟件Android的主要版本發(fā)展課程導(dǎo)論

Android的主要版本發(fā)展課程導(dǎo)論Android的體系結(jié)構(gòu)課程導(dǎo)論Android的體系結(jié)構(gòu)課程導(dǎo)論Android體系結(jié)構(gòu)各層功能說明(一)應(yīng)用程序(APPLICATIONS):是Android推出的一組使用Java編寫的核心應(yīng)用程序,如:Email客戶端,短信程序,日歷,地圖,通信錄。應(yīng)用程序框架(ApplicationFramework):是Android為開發(fā)者提供的一個(gè)開放平臺(tái),在應(yīng)用程序的下一層。開放者可以通過它們自由地充分利用設(shè)備硬件,訪問位置信息,運(yùn)行后臺(tái)服務(wù),設(shè)置告警,在狀態(tài)欄上增加通知等。開發(fā)者可以和核心應(yīng)用程序那樣調(diào)用同樣的框架APIs。應(yīng)用程序框架提供的是一組服務(wù)和系統(tǒng),這些會(huì)在程序開發(fā)過程中直接使用到,包括:豐富且具有可擴(kuò)展性的視圖:可用于構(gòu)建應(yīng)用程序的界面內(nèi)容提供者:允許應(yīng)用程序訪問其它應(yīng)用程序的數(shù)據(jù)(例如:通信錄),或者共享它們自己的數(shù)據(jù)資源管理器:提供對(duì)非代碼資源,如本地化字符串,圖像的管理通知管理器:允許應(yīng)用程序在狀態(tài)欄上顯示定制的警報(bào)?;顒?dòng)管理器:管理應(yīng)用程序的生命周期,提供導(dǎo)航回退功能課程導(dǎo)論Android體系結(jié)構(gòu)各層功能說明(一)應(yīng)用程序(APPLAndroid體系結(jié)構(gòu)各層功能說明(二)Libraries:Android包括的一組C/C++庫,它們用于Android系統(tǒng)不同的組件。這些功能通過Android應(yīng)用程序框架對(duì)開發(fā)者開放,包括:C語言系統(tǒng)庫、多媒體庫、外觀管理器、LibWebCore、SGL、3D庫、FreeType、SQLite等。

AndroidRuntime:Android包括的一組核心庫,提供大部分Java編程語言核心庫的功能。每一個(gè)Android應(yīng)用程序是在Dalvik虛擬機(jī)的實(shí)例下以進(jìn)程形式運(yùn)行。Dalvik虛擬機(jī)執(zhí)行的文件是Dalvik可執(zhí)行格式(DalvikExecutable,稱為.dex),它被優(yōu)化成最小內(nèi)存占用。與Java虛擬機(jī)時(shí)基于堆棧不同,Dalvik虛擬機(jī)是基于寄存器的,它通過轉(zhuǎn)換工具dx將Java字節(jié)碼轉(zhuǎn)換成dex格式。Linux內(nèi)核:Android依賴于Linux某個(gè)版本的核心系統(tǒng)服務(wù),例如:安全、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧、驅(qū)動(dòng)程序模型。內(nèi)核也作為硬件和軟件堆棧其余部分之間的抽象層。課程導(dǎo)論Android體系結(jié)構(gòu)各層功能說明(二)Libraries對(duì)Android應(yīng)用程序的理解Android應(yīng)用程序主要是由Java語言編寫,但對(duì)于特殊性能要求的功能,也可以先使用C或者C++編寫代碼,建立動(dòng)態(tài)庫,再通過NDK將其與Java應(yīng)用一起打包成apk。AndroidSDK工具將代碼、數(shù)據(jù)和資源文件編譯為一個(gè)Android包,它是一個(gè)后綴為.apk的歸檔文件。.apk歸檔文件將被用在設(shè)備上安裝應(yīng)用程序。Android應(yīng)用程序是可以訪問系統(tǒng)服務(wù)的,例如:應(yīng)用程序可以請(qǐng)求訪問用戶的通訊錄,短信,SD存儲(chǔ)卡,攝像頭,藍(lán)牙,以及更多的設(shè)備,但要求用戶在安裝應(yīng)用程序時(shí)必須被授予相應(yīng)的權(quán)限。課程導(dǎo)論對(duì)Android應(yīng)用程序的理解Android應(yīng)用程序主要是由Android的組件應(yīng)用程序組件是一個(gè)Android應(yīng)用程序的重要基石,在編程時(shí)根據(jù)需要編寫相應(yīng)的組件。有四種不同類型的應(yīng)用程序組件。每個(gè)類型服務(wù)于不同的目的:Activity:活動(dòng)表示一個(gè)用戶界面,可以和用戶進(jìn)行交互。例如,Email應(yīng)用程序可以有一個(gè)顯示新郵件的activity,一個(gè)撰寫電子郵件的activity和一個(gè)閱讀郵件的activity。雖然這些activities一起為Email應(yīng)用程序提供用戶體驗(yàn),但它們每個(gè)都是相互獨(dú)立Service:服務(wù)是一個(gè)運(yùn)行在后臺(tái)的組件(并不提供用戶界面),一般用于執(zhí)行需要長(zhǎng)時(shí)間運(yùn)行的操作或執(zhí)行遠(yuǎn)程進(jìn)程的工作。例如:某個(gè)service可能會(huì)在后臺(tái)播放音樂。Contentprovider:內(nèi)容提供者管理應(yīng)用程序共享的數(shù)據(jù)集。例如:讀取系統(tǒng)自帶的聯(lián)系人信息。Broadcastreceiver:廣播接收者是一個(gè)負(fù)責(zé)全系統(tǒng)廣播通知的組件。例如:廣播電池沒有電。課程導(dǎo)論Android的組件應(yīng)用程序組件是一個(gè)Android應(yīng)用程序認(rèn)識(shí)手機(jī)模擬器手機(jī)模擬器(MobileEmulator)的作用是在電腦上模擬手機(jī)環(huán)境,從而可以在電腦上進(jìn)行手機(jī)程序開發(fā)、調(diào)試和發(fā)布。針對(duì)不同平臺(tái)版本、不同尺寸的手機(jī)有不同的手機(jī)模擬器。課程導(dǎo)論認(rèn)識(shí)手機(jī)模擬器手機(jī)模擬器(MobileEmulator)的Activity應(yīng)用程序的生命周期Activity是Android程序圖形用戶界面的基本組成部件。Android程序由一個(gè)或者多個(gè)Activity類組成,而程序都是從Activity類開始執(zhí)行,系統(tǒng)規(guī)定了Activity的生命周期有創(chuàng)建,開始,喚醒,暫停和銷毀五種狀態(tài)。Android定義了一系列與生命周期相關(guān)的方法,在我們自己的Activity中,只是根據(jù)需要重寫需要的方法來實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)初始化,和回收等操作。開發(fā)一個(gè)Android程序,首選需要?jiǎng)?chuàng)建一個(gè)繼承于Activity的類。以下為編寫Activity程序,并實(shí)現(xiàn)其生命周期相應(yīng)操作的示例:課程導(dǎo)論Activity應(yīng)用程序的生命周期Activity是AndrActivity應(yīng)用程序的生命周期代碼示例課程導(dǎo)論publicclassMyActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){//一個(gè)Activity的實(shí)例啟動(dòng)時(shí)調(diào)用的第一個(gè)方法。一般情況下,在這里編寫初始化數(shù)據(jù)、從Xml布局文件中加載設(shè)計(jì)好的用戶界面等方面的操作}protectedvoidonStart(){

//在onCreate()方法執(zhí)行之后被調(diào)用,或者在Activity從Stop狀態(tài)轉(zhuǎn)換為Active狀態(tài)時(shí)被調(diào)用}protectedvoidonResume(){

//在Activity從Pause狀態(tài)轉(zhuǎn)換到Active狀態(tài)時(shí)被調(diào)用,或者在onStart()方法執(zhí)行之后被調(diào)用。onResume()方法也較為適合放入初始化數(shù)據(jù)的操作}protectedvoidonPause(){

//從Active狀態(tài)轉(zhuǎn)換到Pause狀態(tài)時(shí)被調(diào)用}protectedvoidonStop(){

//從Active狀態(tài)轉(zhuǎn)換到Stop狀態(tài)時(shí)被調(diào)用,一般在這里保存Activity的狀態(tài)信息}protectedvoidonRestart(){//當(dāng)處于stop狀態(tài)時(shí),當(dāng)前Activity被重新向用戶顯示時(shí)調(diào)用該方法}protectedvoidonDestroy(){

//在Activity結(jié)束時(shí)調(diào)用,在這里一般做些釋放資源,清理內(nèi)存等工作}}Activity應(yīng)用程序的生命周期代碼示例課程導(dǎo)論publiActivity應(yīng)用程序的生命周期課程導(dǎo)論Activity應(yīng)用程序的生命周期課程導(dǎo)論開發(fā)第一個(gè)Android程序第一步是選擇創(chuàng)建一個(gè)AndroidApplicationProject項(xiàng)目,在創(chuàng)建向?qū)е兄付☉?yīng)用程序名稱、包名稱、運(yùn)行的Android版本等信息。第二步是根據(jù)項(xiàng)目的需要在Activity類中編寫代碼,或者新創(chuàng)建其它類,在Activity類中進(jìn)行引用。課程導(dǎo)論開發(fā)第一個(gè)Android程序第一步是選擇創(chuàng)建一個(gè)AndroiAndroid項(xiàng)目主要目錄的作用課程導(dǎo)論Android項(xiàng)目主要目錄的作用課程導(dǎo)論自動(dòng)生成的代碼publicclassMainActivityextendsActivity{protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);

}publicbooleanonCreateOptionsMenu(Menumenu){//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.main,menu);returntrue;

}}課程導(dǎo)論自動(dòng)生成的代碼publicclassMainActivi代碼分析MainActivity類繼承了Activi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論