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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論