火龍果軟件-學(xué)習(xí)情境1:Android平臺基礎(chǔ)認(rèn)知_第1頁
火龍果軟件-學(xué)習(xí)情境1:Android平臺基礎(chǔ)認(rèn)知_第2頁
火龍果軟件-學(xué)習(xí)情境1:Android平臺基礎(chǔ)認(rèn)知_第3頁
火龍果軟件-學(xué)習(xí)情境1:Android平臺基礎(chǔ)認(rèn)知_第4頁
火龍果軟件-學(xué)習(xí)情境1:Android平臺基礎(chǔ)認(rèn)知_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Android應(yīng)用程序開發(fā)2教學(xué)內(nèi)容任務(wù)4 (6學(xué)時)任務(wù)3 (8學(xué)時)任務(wù)2 (2學(xué)時)任務(wù)1 (2學(xué)時)任務(wù)5 (6學(xué)時)搭建開發(fā)環(huán)境創(chuàng)建項目框架設(shè)計用戶界面SDCard文件列表文件管理基礎(chǔ)篇3教學(xué)內(nèi)容任務(wù)9 (8學(xué)時)任務(wù)8 (8學(xué)時)任務(wù)7 (8學(xué)時)任務(wù)6 (10學(xué)時)任務(wù)10 (2學(xué)時)系統(tǒng)設(shè)置圖片瀏覽播放音樂和視頻系統(tǒng)服務(wù)發(fā)布到Android市場提高篇4搭建開發(fā)環(huán)境任務(wù)15任務(wù)實現(xiàn)下載開發(fā)Android應(yīng)用程序的必備軟件包 安裝軟件包并配置開發(fā)環(huán)境 創(chuàng)建Android模擬器6相關(guān)軟件下載 Java SDK/technetwork/java/javase/downloads/ind

2、ex.html Eclipse IDE/downloads Android SDK/sdk/index.html 7軟件安裝與配置 安裝JDK的安裝過程只要根據(jù)安裝向?qū)б徊讲酵瓿砂惭b即可。要安裝的項目包括開發(fā)工具(Development Tools)、演示程序及樣例(Demos)、源代碼(Source Code)、公用JRE(Public JRE)及Java DB。Eclipse 和Android SDK解壓即可。 8軟件安裝與配置 安裝安裝Android開發(fā)插件 在Eclipse中,運行“Help / Install New SoftWare”菜單命令,打開Install對話框 ;單擊對話框

3、中的Add按鈕,打開Add Site窗口;在窗口的Location框中輸入網(wǎng)址:/Android/eclipse/,Name框中輸入Android (這里可以自定義)。 9軟件安裝與配置 配置配置Android SDK : Window / Preferences 10軟件安裝與配置 配置升級Android SDK : Window / Android SDK and AVD Manager 11軟件安裝與配置 配置設(shè)置Android環(huán)境變量 12創(chuàng)建AVD 新建Window / Android SDK and AVD Manager 13必備知識AVD操作簡介Android平臺簡介14AVD

4、操作 啟動AVD命令行方式打開命令行窗口,輸入android list avd命令,顯示本機已創(chuàng)建的AVD列表 ;在命令行窗口,輸入emulator avd android 命令啟動AVD。 15AVD操作 啟動AVD窗口方式在Eclipse中,運行“Window / Android SDK and AVD Manager”菜單命令,選擇Virtual Devices中的android模擬器,單擊Start按鈕,即可啟動Android模擬器。 16AVD操作 主界面17AVD操作 查看應(yīng)用程序單擊屏幕上的18AVD操作 主屏常見操作查看應(yīng)用程序在主屏添加快捷圖標(biāo)調(diào)整快捷圖標(biāo)位置刪除圖標(biāo)滾動主屏

5、取消提示助手等 19Android 平臺概述20手機操作系統(tǒng)在早期的手機內(nèi)部是沒有智能操作系統(tǒng)的,所有的軟件都是由手機生產(chǎn)商在設(shè)計時所定制的,因此手機在設(shè)計完成后基本是沒有擴展功能的。后期的手機為了提高手機的可擴展性,使用了專為移動設(shè)備開發(fā)的操作系統(tǒng),使用者可以根據(jù)需要安裝不同類型的軟件。操作系統(tǒng)對于手機的硬件配置要求較高,所產(chǎn)生的硬件成本和操作系統(tǒng)成本使手機的售價明顯高于不使用操作系統(tǒng)的手機。手機上的操作系統(tǒng)主要包括以下幾種:AndroidiPhoneOSWindows MobileSymbian黑莓PalmOSLinux21Android平臺 簡介Android是基于Linux內(nèi)核的軟件平

6、臺和操作系統(tǒng),是Google在2007年11月5日公布的手機系統(tǒng)平臺,早期由Google開發(fā),后由開放手持設(shè)備聯(lián)盟(Open Handset Alliance)開發(fā)。Android號稱是首個為移動終端打造的真正開放和完整的移動軟件。22OHA開放手機聯(lián)盟(Open Handset Alliance)Google 于2007年11月5日發(fā)起組建的一個全球性的聯(lián)盟組織網(wǎng)址:聯(lián)盟支持 Google 可能發(fā)布的手機操作系統(tǒng)或者應(yīng)用軟件,共同開發(fā)名為 Android 的開放源代碼的移動系統(tǒng)聯(lián)盟成員已達(dá) 80+ 家,包括五大類:手機制造商手機芯片商移動運營商軟件開發(fā)商軟件服務(wù)商23OHA聯(lián)盟創(chuàng)始成員Apl

7、ix、Ascender、Audience、Broadcom、中國移動、eBay、Esmertec、谷歌、宏達(dá)電、英特爾、KDDI、Living Image、LG、Marvell、摩托羅拉、NMS、NTT DoCoMo、Nuance、Nvidia、PacketVideo、高通、三星、SiRF、SkyPop、Sonic Network、Sprint Nextel、Synaptics、TAT、意大利電信、西班牙電信、德州儀器、T-Mobile 和 Wind River2425OHA 與 AndroidOHA 是一個軟硬件開發(fā)者組織,包括 Google, NTT DoCoMo, Sprint Next

8、el, HTC ,OHA推動了Android平臺的研發(fā)和推廣。目標(biāo):加速智能移動設(shè)備的發(fā)展 提供用戶更多更好更便宜的服務(wù)由 OHA 開發(fā)的 Android,是第一個完整的、開放的、免費的智能移動開發(fā)平臺。26Android平臺 平臺架構(gòu)體系分為四層:1、Linux內(nèi)核2、中間件層3、程序框架層4、應(yīng)用程序?qū)?27Linux內(nèi)核Linux 2.6內(nèi)核硬件和其他軟件堆層之間的一個抽象隔離層提供安全機制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議堆棧、和驅(qū)動程序等Android體系結(jié)構(gòu)28中間件層 由函數(shù)庫和Android運行時構(gòu)成函數(shù)庫,主要提供一組基于C/C+的函數(shù)庫Surface Manager,支持顯示子

9、系統(tǒng)的訪問,提供應(yīng)用程序與2D、3D圖像層的平滑連接Media Framework,實現(xiàn)音視頻的播放和錄制功能SQLite,輕量級的關(guān)系數(shù)據(jù)庫引擎OpenGL ES,基于3D圖像加速FreeType,位圖與矢量字體渲染W(wǎng)ebKit,Web瀏覽器引擎SGL,2D圖像引擎SSL,數(shù)據(jù)加密與安全傳輸?shù)暮瘮?shù)庫Libc,標(biāo)準(zhǔn)C運行庫,Linux系統(tǒng)中底層應(yīng)用程序開發(fā)接口Android體系結(jié)構(gòu)29中間件層Android運行時核心庫,提供Android系統(tǒng)的特有函數(shù)功能和Java語言函數(shù)功能Dalvik虛擬機,是經(jīng)過優(yōu)化的多實例虛擬機,基于寄存器架構(gòu)設(shè)計,實現(xiàn)基于Linux內(nèi)核的線程管理和底層內(nèi)存管理,采用

10、專用的Dalvik可執(zhí)行格式(.dex),該格式適合內(nèi)存和處理器速度受限的系統(tǒng)Android體系結(jié)構(gòu)30DVM vs. JVMDVMGoogle,基于寄存器運行,允許多個實例運行Dalvik excutable bytecode為便攜設(shè)備有限的系統(tǒng)資源和供電進(jìn)行了專門優(yōu)化JVMSun,基于堆棧運行Java bytecode跨平臺31應(yīng)用程序框架提供Android平臺基本的管理功能和組件重用機制Activity Manager,管理應(yīng)用程序的生命周期Windows Manager,啟動應(yīng)用程序的窗體Content Provider,共享私有數(shù)據(jù),實現(xiàn)跨進(jìn)程的數(shù)據(jù)訪問Package Manager

11、,管理安裝在Android系統(tǒng)內(nèi)的應(yīng)用程序Android體系結(jié)構(gòu)32應(yīng)用程序框架Teleghony Manager,管理與撥打和接聽電話的相關(guān)功能Resource Manager,允許應(yīng)用程序使用非代碼資源Location Manager,管理與地圖相關(guān)的服務(wù)功能Notification Manager,允許應(yīng)用程序在狀態(tài)欄中顯示提示信息Android體系結(jié)構(gòu)33應(yīng)用程序提供一系列的核心應(yīng)用程序包括電子郵件客戶端、瀏覽器、通訊錄和日歷等Android體系結(jié)構(gòu)34Android 的 SDK 版本Android 4.1(API-16)new!Android 4.0.3(API-15)Android

12、 2.3.3(API-10)Android 2.2(API-8)Android 2.1(API-7)Android 1.6(API-4)Obsolete Platform.35據(jù) Android Market 2011年7月初下載量統(tǒng)計,Android 2.2占總訪問量的60%,而 Android 2.1和2.3.x均占18%,Android 1.x僅為4%。Android 用戶下載統(tǒng)計(2011年7月5日)36Android 用戶下載統(tǒng)計(2012年7月2日)/resources/dashboard/platform-versions.html37Android 用戶下載統(tǒng)計(2013年2月

13、4日)38能力拓展adb shell命令A(yù)ndroid項目管理39adb shell 常用命令進(jìn)入shell命令行adb shell安裝程序adb install *.apk顯示端口信息adb devices訪問數(shù)據(jù)庫sqlite340adb shell 常用命令啟動瀏覽器am start -a Aent.action.view -d /撥號telnet localhost 5554gsm call信息telnet localhost 5554sms sendHello Android 41Android項目管理查看項目在模擬器桌面,單擊La

14、uncher按鈕,打開應(yīng)用程序管理界面,單擊其中的Android Application圖標(biāo),即可啟動項目應(yīng)用程序。42Android項目管理刪除項目 方法一:應(yīng)用程序管理器刪除 43Android項目管理刪除項目 方法二:DDMS刪除 44Android項目管理查看日志 在LogCat框中可以查看項目運行的日志信息 45項目實踐在自己的電腦上搭建Android開發(fā)環(huán)境。下載一個apk文件并安裝到模擬器。46創(chuàng)建項目框架任務(wù)247任務(wù)實現(xiàn)文件管理器簡介創(chuàng)建應(yīng)用程序項目運行項目48文件管理器 主要功能文件瀏覽 新建文件移動/復(fù)制/刪除文件重命名文件文件打開 查找文件其他模塊的接口49創(chuàng)建項目 步

15、驟File / New / Project Android / Android Project 50運行項目 步驟Run as / Run Configurations 51必備知識Android項目框架解析DDMSActivity52Android項目架構(gòu)解析 項目結(jié)構(gòu)src存放項目中的Java源程序文件。 53Android項目架構(gòu)解析 項目結(jié)構(gòu)gen存放所有由Android開發(fā)工具自動生成的文件。目錄中最重要的就是R.java文件,這個文件由Android開發(fā)工具自動產(chǎn)生。Android開發(fā)工具會自動根據(jù)放入res目錄的xml界面配置文件、圖片以及一些文本等資源文件而同步更新修改R.ja

16、va文件。絕對不要手動編輯該文件! 54Android項目架構(gòu)解析 項目結(jié)構(gòu)assets存放應(yīng)用程序中用到的較大的文件,如視頻文件、MP3等一些媒體文件。注意,assets目錄下的資源文件不會在R.java自動生成ID,所以讀取assets目錄下的文件必須指定文件的路徑。 55Android項目架構(gòu)解析 項目結(jié)構(gòu)res存放應(yīng)用中用到的文字、圖片以及布局等資源 drawable 用于存放圖片文件資源。hdpi、mdpi、ldpi表示的是不同分辨率的圖片。layout 用于存放顯示界面的xml配置文件。56Android項目架構(gòu)解析 項目結(jié)構(gòu)res存放應(yīng)用中用到的文字、圖片以及布局等資源 valu

17、es 用于存放一些常量信息,如:strings.xml用于定義字符串和數(shù)值、array.xml用于定義數(shù)組信息、colors.xml用于定義顏色、dimens.xml用于定義尺寸數(shù)據(jù)、styles.xml用于定義樣式等。anim 用于存放動畫設(shè)計xml文件。57Android項目架構(gòu)解析 項目結(jié)構(gòu)res存放應(yīng)用中用到的文字、圖片以及布局等資源 menu 用于存放菜單設(shè)計xml文件。raw 用于存放直接復(fù)制到設(shè)備中的原生文件。 58Android項目架構(gòu)解析 項目結(jié)構(gòu)AndroidManifest.xml 項目清單文件,列出了項目中的Activity、Services、Broadcast Rec

18、eiver等信息,以及一些用戶權(quán)限信息等。 59Android項目架構(gòu)解析 項目結(jié)構(gòu)perties 存放了項目的環(huán)境配置信息,一般不用編輯。 60Android項目架構(gòu)解析 Java文件解析MainActivity.javaandroid.app.Activity android.os.Bundle 61Android項目架構(gòu)解析 Java文件解析R.java62Android項目架構(gòu)解析 資源文件解析main.xml 63Android項目架構(gòu)解析 資源文件解析strings.xml 64Android項目架構(gòu)解析 AndroidManifest.xml65DDMS 概述DDMS的全稱是Da

19、lvik Debug Monitor Service,它為我們提供諸如為測試設(shè)備截屏,針對特定的進(jìn)程查看正在運行的線程以及堆信息、LogCat、廣播狀態(tài)信息、模擬電話呼叫、接收SMS、虛擬地理坐標(biāo)等服務(wù)。66DDMS 啟動完整版啟動 SDK Tools目錄下提供了DDMS的完整版,直接雙擊運行ddms.bat文件即可啟動完整版的DDMS。67DDMS 啟動Eclipse中啟動 Windows / Open Perspective / Other 68DDMS 主界面69DDMS Devices查看所有與DDMS連接的終端的詳細(xì)信息,以及每個終端正在運行的APP進(jìn)程,每個進(jìn)程最右邊相對應(yīng)的是與調(diào)

20、試器鏈接的端口。70DDMS Emulator Control 通過Emulator Control面板的一些功能可以非常容易的使測試終端模擬真實手機所具備的一些交互功能。71DDMS File Exporler File Explorer窗口顯示Android的文件系統(tǒng) 。datasdcardsystem72DDMS LogCat adb通過調(diào)動LogCat Show View來替代Console顯示程序運行提示信息。 Log.v() Log.d() Log.i() Log.w() Log.e() 73Activity 概述 Activity主要用于構(gòu)建和用戶進(jìn)行交互的界面應(yīng)用程序。一個An

21、droid應(yīng)用程序通常由多個Activities組成。Activity的主體包括兩個主要部分,一個是Content(data),另外一個是響應(yīng)用戶交互事件的行為。Activity必須在應(yīng)用包的AndroidManifest.xml文件中有對應(yīng)的定義。74Activity:生命周期onCreate()onStart()onResume()onPause()onStop()onRestart()onDestroy()75Activity生命周期的事件回調(diào)函數(shù) 函數(shù)是否可終止說明onCreate()否Activity啟動后第一個被調(diào)用的函數(shù),常用來進(jìn)行Activity的初始化,例如創(chuàng)建View、綁定

22、數(shù)據(jù)或恢復(fù)信息等。onStart()否當(dāng)Activity顯示在屏幕上時,該函數(shù)被調(diào)用。onRestart()否當(dāng)Activity從停止?fàn)顟B(tài)進(jìn)入活動狀態(tài)前,調(diào)用該函數(shù)。onResume()否當(dāng)Activity可以接受用戶輸入時,該函數(shù)被調(diào)用。onPause()否當(dāng)Activity進(jìn)入暫停狀態(tài)時,該函數(shù)被調(diào)用。主要用來保存持久數(shù)據(jù)、關(guān)閉動畫、釋放CPU資源等。該函數(shù)中的代碼必須簡短,因為另一個Activity必須等待該函數(shù)執(zhí)行完畢后才能顯示在界面上。onStop()是當(dāng)Activity不對用戶可見后,該函數(shù)被調(diào)用,Activity進(jìn)入停止?fàn)顟B(tài)。onDestroy()是在Activity被終止前,即

23、進(jìn)入非活動狀態(tài)前,該函數(shù)被調(diào)用。有兩種情況該函數(shù)會被調(diào)用:(1)當(dāng)程序主動調(diào)用finish()函數(shù);(2)程序被Android系統(tǒng)終結(jié)。76Activity棧遵循“后進(jìn)先出”的規(guī)則77Android 的進(jìn)程優(yōu)先級前臺進(jìn)程(Active Process):前臺 Activity、包含正在運行的廣播接收器、正在運行的服務(wù)可視進(jìn)程(Visible Process):包含一個可視化的 Activity服務(wù)進(jìn)程(Started Service Process):包含一個被開啟的服務(wù)(處理服務(wù),不是直接可視,例如媒體播放器,網(wǎng)絡(luò)上傳、下載等)后臺進(jìn)程(Background Process):包含一個不可視

24、的 Activity(隨時可以結(jié)束該進(jìn)程來回收內(nèi)存)空進(jìn)程(Empty Process):沒有持有任何應(yīng)用程序組件高低78能力拓展Android應(yīng)用程序的組成traceview調(diào)試程序79Android應(yīng)用程序的組成 Activity Activity是應(yīng)用程序的表示層,用于構(gòu)建應(yīng)用程序的UI界面。每個Activity都是一個有生命周期的對象,是android.app.Activity類的擴展。Activity使用android.view.View來形成顯示信息和響應(yīng)用戶動作的圖形界面,典型情況下,窗口會占滿整個屏幕,但是也可以比屏幕小和漂浮在其它窗口之上。80Android應(yīng)用程序的組成 S

25、erviceService是運行在后臺的一段代碼,運行時不可見,主要負(fù)責(zé)更新數(shù)據(jù)源和可見的Activity,并觸發(fā)Notification。每一個具體的Service是從android.app.Service基類繼承的。Service組件常用來執(zhí)行一些需要持續(xù)運行的處理,即使當(dāng)應(yīng)用程序的Activity不是活動的或者可見的時候也需要運行。Service組件可以運行在它自己的進(jìn)程,也可以運行在其他應(yīng)用程序進(jìn)程的上下文(context)里面,這取決于自身的需要。其它的組件可以綁定到一個Service上面,通過遠(yuǎn)程過程調(diào)用(RPC)來調(diào)用這個方法。81Android應(yīng)用程序的組成 Content P

26、roviderContent Provider是對設(shè)備上的數(shù)據(jù)進(jìn)行訪問的數(shù)據(jù)倉庫,是應(yīng)用程序間共享數(shù)據(jù)的首選方式。一個具體的Content Provider繼承自android.content.ContentProvider類,并且實現(xiàn)一系列可以使其它應(yīng)用程序接收和存儲由此應(yīng)用程序控制的數(shù)據(jù)的相關(guān)接口??梢酝ㄟ^配置自己的Content Provider來允許其他應(yīng)用程序訪問存儲的數(shù)據(jù),也可以使用其他應(yīng)用程序提供的Content Provider來訪問它們存儲的數(shù)據(jù)。Android設(shè)備包含了多個本地Content Provider來提供有用的數(shù)據(jù)庫,如聯(lián)系人信息等。82Android應(yīng)用程序的組

27、成 IntentIntent是一個簡單的消息傳遞框架。使用Intent,可以在整個系統(tǒng)內(nèi)廣播消息或者給特定的Activity或者Service來執(zhí)行某個行為意圖,以說明希望執(zhí)行某個動作的意圖,之后系統(tǒng)就會確定那些最適合執(zhí)行動作的目標(biāo)。83Android應(yīng)用程序的組成 Broadcast ReceiverBroadcast Receiver是一個只能對廣播通告進(jìn)行接收和響應(yīng)的組件,是Intent廣播的消費者。所有的Broadcast Receiver都是從android.content.BroadcastReceiver類繼承而來的。通過創(chuàng)建和注冊一個Broadcast Receiver,應(yīng)用程序可以監(jiān)聽到那些符合特定條件的廣播的Intent。Broadcast Receiver會自動的啟動應(yīng)用程序去響應(yīng)新來的Intent。這個特點使它們成為了事件

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論