Android_第3講_Android應(yīng)用程序.ppt_第1頁(yè)
Android_第3講_Android應(yīng)用程序.ppt_第2頁(yè)
Android_第3講_Android應(yīng)用程序.ppt_第3頁(yè)
Android_第3講_Android應(yīng)用程序.ppt_第4頁(yè)
Android_第3講_Android應(yīng)用程序.ppt_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第3講 Android應(yīng)用程序,本章學(xué)習(xí)目標(biāo):,掌握Eclipse開(kāi)發(fā)Android應(yīng)用程序的步驟 掌握Android虛擬設(shè)備的創(chuàng)建方法 了解Android的程序結(jié)構(gòu) 了解AndroidManifest.xml文件的用途 了解Android虛擬機(jī) 了解如何向模擬器發(fā)送命令 了解Activity,3.1 第一個(gè)Android程序,創(chuàng)建Android工程 打開(kāi)Android工程向?qū)В?FileNewProjectAndroidAndroid Project 或 File NewOther AndroidAndroid Project,3.1 第一個(gè)Android程序,3.1 第一個(gè)Android程

2、序,填寫(xiě)工程名稱:工程名稱必須唯一,不能與已有的工程重名 在Project name中填入ArdHelloworld,3.1 第一個(gè)Android程序,選擇創(chuàng)建方式 可以創(chuàng)建新Android工程,也可利用已有代碼創(chuàng)建Android工程,缺省為創(chuàng)建新Android工程;選擇“Create new project in workspace” 可以使用默認(rèn)位置存儲(chǔ),也可取消復(fù)選框,選擇其他位置保存。,3.1 第一個(gè)Android程序,3.1 第一個(gè)Android程序,選擇編譯目標(biāo)(Build Target)。根據(jù)系統(tǒng)安裝的Android SDK,可以根據(jù)需要選擇不同版本的API。,3.1 第一個(gè)An

3、droid程序,填寫(xiě)相關(guān)信息 應(yīng)用程序名稱,即Android程序在手機(jī)中顯示的名稱,顯示在手機(jī)的頂部。在Application name填入Helloworld。 包名稱是包的命名空間,需遵循Java包的命名方法,由兩個(gè)或多個(gè)標(biāo)識(shí)符組成,中間用點(diǎn)隔開(kāi)。為了包名稱的唯一性,可以采用反寫(xiě)電子郵件地址的方式。在Package name填入com.coffe,3.1 第一個(gè)Android程序,填寫(xiě)相關(guān)信息 創(chuàng)建Activity是個(gè)可選項(xiàng),如需要自動(dòng)生成一個(gè)Activity的代碼文件,則選擇該項(xiàng)。Activity的名稱與應(yīng)用程序的名稱不同,但為了簡(jiǎn)潔,可以讓他們相同,表示這個(gè)Activity是Andro

4、id程序運(yùn)行時(shí)首先顯示給用戶的界面。例如在本例中,輸入Application name后,Activity會(huì)自動(dòng)生成名稱:HelloworldActivity。,3.1 第一個(gè)Android程序,填寫(xiě)相關(guān)信息 SDK最低版本是Android程序能夠運(yùn)行的最低的API等級(jí),如果手機(jī)的API等級(jí)低于程序的SDK最低版本,則程序無(wú)法在該Android系統(tǒng)中運(yùn)行。在這里,之前選擇標(biāo)準(zhǔn)的1.6版本的Android系統(tǒng),則SDK等級(jí)被自動(dòng)填入4,此項(xiàng)無(wú)需更改,3.1 第一個(gè)Android程序,Android虛擬設(shè)備(AVD) AVD是對(duì)Android模擬器進(jìn)行自定義的配置清單,能夠配置Android模擬器

5、的硬件列表和外觀,支持Android系統(tǒng)版本、附件SDK庫(kù)和儲(chǔ)存設(shè)置等信息。 之前環(huán)境配置中已經(jīng)介紹了在Eclipse中AVD的創(chuàng)建,這里不再介紹。,3.1 第一個(gè)Android程序,命令行方式:android create avd-n android1.5 t 2,以id為2的1.5版本Android系統(tǒng)為目標(biāo),建立一個(gè)名為Android1.5的AVD -n參數(shù)表明AVD的名稱 -t參數(shù)表明選擇的Android系統(tǒng)映像的id值 可以直接缺省的硬件配置,當(dāng)然也可以重新定制模擬器支持的硬件清單,3.1 第一個(gè)Android程序,在建立過(guò)程中,Android工具會(huì)在文件系統(tǒng)中建立Android1.

6、5.ini文件和Android1.5.avd目錄 Android1.5.ini文件用來(lái)保存Android1.5.avd目錄所在的位置 Android1.5.avd目錄用來(lái)保存AVD配置文件、用戶數(shù)據(jù)文件、SD卡映像和其他模擬器運(yùn)行過(guò)程中可能產(chǎn)生的文件 如果用戶使用的是Windows XP系統(tǒng),則目錄保存在C:Documents and Settings.android下 如果用戶使用的是Windows Vista系統(tǒng),則目錄保存在 C:Users.android下,3.1 第一個(gè)Android程序,Android程序啟動(dòng)選項(xiàng) 路徑:RunRun Configuration或RunDebug C

7、onfiguration配置模擬器的啟動(dòng)選項(xiàng) 可以選擇不同的AVD、配置網(wǎng)絡(luò)速度、網(wǎng)絡(luò)延遲、控制臺(tái)的字符編碼和標(biāo)準(zhǔn)輸入輸出等內(nèi)容。一般只需選擇正確的AVD即可,3.1 第一個(gè)Android程序,3.1 第一個(gè)Android程序,3.1 第一個(gè)Android程序,啟動(dòng)Android程序 路徑:RunRun Android Application或RunDebug Android Application 在程序調(diào)試完畢后,可直接再次運(yùn)行Android程序,以便節(jié)約啟動(dòng)模擬器的時(shí)間,3.1 第一個(gè)Android程序,3.1 第一個(gè)Android程序,詳解第一個(gè)Android項(xiàng)目源碼 見(jiàn)教材P25-2

8、8,3.2 Android程序結(jié)構(gòu),在建立Android工程的過(guò)程中,ADT會(huì)自動(dòng)建立一些目錄和文件,這些目錄和文件有其固定的作用,有的允許修改,有的不能修改。下面逐一的介紹。,3.2 Android程序結(jié)構(gòu),在“Package Explore”中,ADT以工程名稱(此處為Helloworld為例)作為根目錄,將所有字段生成的和非自動(dòng)生成的文件都保存在這個(gè)根目錄下; 根目錄包含四個(gè)子目錄:src、assets、res和gen,一個(gè)庫(kù)文件android.jar,以及兩個(gè)工程文件Androidmanifest.xml和perties;,3.2 Android程序結(jié)構(gòu),src目

9、錄是源代碼目錄,所有允許用戶修改的java文件和用戶自己添加的java文件都保存在這個(gè)目錄中; Android工程建立初期,ADT根據(jù)用戶在工程向?qū)е械摹癈reate Activity”選項(xiàng),自動(dòng)建立HelloworldActivity.java文件;,3.2 Android程序結(jié)構(gòu),gen目錄是1.5版本開(kāi)始新增的目錄,用來(lái)保存ADT自動(dòng)生成的java文件,例如R.java或AIDL文件; R.java文件是ADT自動(dòng)生成的文件,包含對(duì)drawable、layout和values目錄內(nèi)的資源的引用指針,Android程序能夠直接通過(guò)R類引用目錄中的資源。,3.2 Android程序結(jié)構(gòu),R.

10、java文件不能手工修改,如果向資源目錄中增加或刪除了資源文件,則需要在工程名稱上右擊,選擇Refresh來(lái)更新R.java文件中的代碼 R類包含的幾個(gè)內(nèi)部類,分別與資源類型相對(duì)應(yīng),資源ID便保存在這些內(nèi)部類中,例如子類drawable表示圖像資源,內(nèi)部的靜態(tài)變量icon表示資源名稱,其資源ID為0 x7f020000。一般情況下,資源名稱與資源文件名相同,3.2 Android程序結(jié)構(gòu),引用資源 資源引用有兩種情況:一種是在代碼中引用資源;另一種是在資源中引用資源 代碼中引用資源,需要使用資源的ID,可以通過(guò)R.resource_type.resource_name或android.R.re

11、source_type.resource_name獲取資源ID resource_type代表資源類型,也就是R類中的內(nèi)部類名稱 resource_name代表資源名稱,對(duì)應(yīng)資源的文件名或在XML文件中定義的資源名稱屬性 資源中引用資源,引用格式: package:type:name 表示對(duì)資源的引用 package是包名稱,如果在相同的包,package可以省略,3.2 Android程序結(jié)構(gòu),android.jar文件是Android程序所能引用的函數(shù)庫(kù)文件,Android通過(guò)平臺(tái)所支持API都包含在這個(gè)文件中。 assets目錄用來(lái)存放原始格式的文件,例如音頻文件、視頻文件等二進(jìn)制格式文

12、件。此目錄中的資源不能被R.java文件索引。所以只能以字節(jié)流的形式讀取。一般情況下為空。,3.2 Android程序結(jié)構(gòu),res目錄是資源目錄,有三種子目錄用來(lái)保存Android程序所有資源 drawable相關(guān)目錄用來(lái)保存圖像文件,在SDK1.5之后,分成了三種目錄,見(jiàn)教材P19頁(yè)描述; layout目錄用來(lái)保存與用戶界面相關(guān)的布局文件; values目錄保存文件顏色、風(fēng)格、主題和字符串等; 在該工程中,ADT在drawable目錄中自動(dòng)引入了icon.png文件,作為該工程程序的圖標(biāo)文件;在layout目錄生成了main.xml文件,用于描述用戶界面;,3.2 Android程序結(jié)構(gòu),m

13、ain.xml文件,是界面布局文件,利用XML語(yǔ)言描述的用戶界面; 界面布局的相關(guān)內(nèi)容將在第4章用戶界面設(shè)計(jì)中進(jìn)行詳細(xì)介紹。,3.2 Android程序結(jié)構(gòu),AndroidManifest.xml是XML格式的Android程序聲明文件,每個(gè)Android程序必須在根目錄下包含一個(gè)AndroidManifest.xml文件。 它包含了Android系統(tǒng)運(yùn)行Android程序前所必須掌握的重要信息,這些信息包含應(yīng)用程序名稱、圖標(biāo)、包名稱、模塊組成、授權(quán)和SDK最低版本等。 它描述了程序包的全局變量, 包括暴露的應(yīng)用組件(activities, services等等)和為每個(gè)組件的實(shí)現(xiàn)類,什么樣的

14、數(shù)據(jù)可以操作,以及在什么地方運(yùn)行。,3.2 Android程序結(jié)構(gòu),AndroidManifest.xml文件的代碼,3.2 Android程序結(jié)構(gòu),AndroidManifest.xml文件的根元素是manifest,包含了xmlns:android、package、android:versionCode和android:versionName共4個(gè)屬性 xmlns:android定義了Android的命名空間,值為 package定義了應(yīng)用程序的包名稱 android:versionCode定義了應(yīng)用程序的版本號(hào),是一個(gè)整數(shù)值,數(shù)值越大說(shuō)明版本越新,但僅在程序內(nèi)部使用,并不提供給應(yīng)用程序的

15、使用者 android:versionName定義了應(yīng)用程序的版本名稱,是一個(gè)字符串,僅限于為用戶提供一個(gè)版本標(biāo)識(shí),3.2 Android程序結(jié)構(gòu),manifest元素僅能包含一個(gè)application元素,application元素中能夠聲明Android程序中最重要的四個(gè)組成部分,包括Activity、Service、BroadcastReceiver和ContentProvider,所定義的屬性將影響所有組成部分 第6行屬性android:icon定義了Android應(yīng)用程序的圖標(biāo),其中drawable/icon是一種資源引用方式,表示資源類型是圖像,資源名稱為icon,對(duì)應(yīng)的資源文件為

16、res/drawable目錄下的icon.png 第6行屬性android:label則定義了Android應(yīng)用程序的標(biāo)簽名稱,3.2 Android程序結(jié)構(gòu),activity元素是對(duì)Activity子類的聲明,必須在AndroidManifest.xml文件中聲明的Activity才能在用戶界面中顯示 第7行屬性android:name定義了實(shí)現(xiàn)Activity類的名稱,可以是完整的類名稱,也可以是簡(jiǎn)化后的類名稱 第8行屬性android:label則定義了Activity的標(biāo)簽名稱,標(biāo)簽名稱將在用戶界面的Activity上部顯示,string/app_name同樣屬于資源引用,表示資源類型

17、是字符串,資源名稱為app_name,資源保存在res/values目錄下的strings.xml文件中,3.2 Android程序結(jié)構(gòu),intent-filter中聲明了兩個(gè)子元素action和category,intent-filter使Helloworld程序在啟動(dòng)時(shí),將. HelloworldActivity這個(gè)Activity作為默認(rèn)啟動(dòng)模塊。,3.3 向模擬器發(fā)送命令,可以利用telnet命令連接到模擬器上,模擬打電話和發(fā)短信給模擬器的功能。 1. 啟動(dòng)Android Emulator, 查看標(biāo)題欄找出端口。一般是android emulator(5554),其中5554就是端口。

18、 2. 打開(kāi)命令行,輸入telnet localhost 5554。程序?qū)?huì)連接到android emulator,控制臺(tái)會(huì)返回 Android Console: type help for a list of commands OK 3. 模擬電話打入。輸入gsm call 。如:gsm call 123456789 4. 模擬短信發(fā)送。輸入gsm send 。如:sms send 123456789 Hello,3.3 向模擬器發(fā)送命令,3.3 向模擬器發(fā)送命令,3.4 Android虛擬機(jī)Dalvik,Dalvik和標(biāo)準(zhǔn)Java虛擬機(jī)(JVM)的差別 Dalvik 更適合手機(jī)所用的嵌入式

19、環(huán)境,占用內(nèi)存少。 JVM 通用Java虛擬機(jī)。 Dalvik虛擬機(jī)特點(diǎn) Dalvik 允許在有限的內(nèi)存中同時(shí)運(yùn)行多個(gè)虛擬機(jī)實(shí)例。 每一個(gè)Dalvik 應(yīng)用作為一個(gè)獨(dú)立的Linux 進(jìn)程執(zhí)行。 獨(dú)立進(jìn)程可防止在虛擬機(jī)崩潰的時(shí)候所有程序都被關(guān)閉。 Dalvik 提供了一個(gè)擁有較Java少限制許可證的平臺(tái)。,3.5 Android重要包的描述,Android.app :提供高層的程序模型、提供基本的運(yùn)行環(huán)境 Android.content :包含各種的對(duì)設(shè)備上的數(shù)據(jù)進(jìn)行訪問(wèn)和發(fā)布的類 Android.database :通過(guò)內(nèi)容提供者瀏覽和操作數(shù)據(jù)庫(kù) Android.graphics :底層的圖形

20、庫(kù),可以將它們直接繪制到屏幕上. Android.location :定位和相關(guān)服務(wù)的類 Android.media :提供一些類管理多種音頻、視頻的媒體接口,3.5 Android重要包的描述,A :提供幫助網(wǎng)絡(luò)訪問(wèn)的類,超過(guò)通常的.* 接口 Android.os :提供了系統(tǒng)服務(wù)、消息傳輸、IPC 機(jī)制 Android.opengl :提供OpenGL 的工具 Avider :提供類訪問(wèn)Android 的內(nèi)容提供者 Android.telephony :提供與撥打電話相關(guān)的API 交互 Android.view :提供基礎(chǔ)的用戶界面接口框架 Android.util :

21、涉及工具性的方法,例如時(shí)間日期的操作 Android.webkit :默認(rèn)瀏覽器操作接口 Android.widget :各種UI 元素(大部分可見(jiàn))在應(yīng)用程序的屏幕中使用,3.6 Android的相關(guān)文件類型,Java文件-應(yīng)用程序源文件 android 本身相當(dāng)一部分都是用java 編寫(xiě)而成 android 的應(yīng)用使用java 來(lái)開(kāi)發(fā)。 Class文件-Java編譯后的目標(biāo)文件 Google使用Dalvik 來(lái)運(yùn)行應(yīng)用程序 Android的class 文件是編譯過(guò)程中的中間目標(biāo)文件,需要鏈接成dex 文件才能在Dalvik 上運(yùn)行。,3.6 Android的相關(guān)文件類型,Dex文件-And

22、roid平臺(tái)上的可執(zhí)行文件 Android 虛擬機(jī)Dalvik 支持的字節(jié)碼文件格式。 這種虛擬機(jī)執(zhí)行的并非Java 字節(jié)碼,而是另一種字節(jié)碼:dex 格式的字節(jié)碼。 在編譯Java 代碼之后,通過(guò)Android 平臺(tái)上的工具可以將Java 字節(jié)碼轉(zhuǎn)換成Dex 字節(jié)碼。 Dalvik VM 針對(duì)手機(jī)程式/CPU 做過(guò)最佳化,可以同時(shí)執(zhí)行許多VM 而不會(huì)占用太多Resource。,3.6 Android的相關(guān)文件類型,Apk文件-Android上的安裝文件 Apk 是Android 安裝包的擴(kuò)展名,一個(gè)Android 安裝包包含了與該Android 應(yīng)用程序相關(guān)的所有文件。 apk文件將AndroidManifest.xml文件、應(yīng)用程序代碼(.dex 文件)、資源文件和其他文件打成一個(gè)壓縮包。 一個(gè)工程只能打進(jìn)一個(gè).apk文件。 apk 文件的本質(zhì)是一個(gè)zip包。,3.7 關(guān)于Activity,Activity是我們?cè)贖elloworld程序中接觸到的第一個(gè)Android組件。,3.7 關(guān)于Activity,Activity是最基本的Android 應(yīng)用程序組件,稱為“活動(dòng)”組件。Android應(yīng)用程序中,一個(gè)Activity通常就是手機(jī)屏幕的一屏。每一個(gè)Activity都被實(shí)現(xiàn)為一個(gè)獨(dú)立的類,并且從Activity基類中繼承而來(lái), Activity類將會(huì)顯示由視圖控件

溫馨提示

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