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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第3講 Android應用程序,本章學習目標:,掌握Eclipse開發(fā)Android應用程序的步驟 掌握Android虛擬設備的創(chuàng)建方法 了解Android的程序結構 了解AndroidManifest.xml文件的用途 了解Android虛擬機 了解如何向模擬器發(fā)送命令 了解Activity,3.1 第一個Android程序,創(chuàng)建Android工程 打開Android工程向導: FileNewProjectAndroidAndroid Project 或 File NewOther AndroidAndroid Project,3.1 第一個Android程序,3.1 第一個Android程

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

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

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

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

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

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

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

9、錄是源代碼目錄,所有允許用戶修改的java文件和用戶自己添加的java文件都保存在這個目錄中; Android工程建立初期,ADT根據(jù)用戶在工程向導中的“Create Activity”選項,自動建立HelloworldActivity.java文件;,3.2 Android程序結構,gen目錄是1.5版本開始新增的目錄,用來保存ADT自動生成的java文件,例如R.java或AIDL文件; R.java文件是ADT自動生成的文件,包含對drawable、layout和values目錄內的資源的引用指針,Android程序能夠直接通過R類引用目錄中的資源。,3.2 Android程序結構,R.

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

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

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

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

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

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

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

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

18、 2. 打開命令行,輸入telnet localhost 5554。程序將會連接到android emulator,控制臺會返回 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虛擬機Dalvik,Dalvik和標準Java虛擬機(JVM)的差別 Dalvik 更適合手機所用的嵌入式

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

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

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

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

溫馨提示

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

評論

0/150

提交評論