Android應用程序new_第1頁
Android應用程序new_第2頁
Android應用程序new_第3頁
Android應用程序new_第4頁
Android應用程序new_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第3章章 Android應用程序應用程序本章學習目標:n掌握使用Eclipse開發(fā)Android應用程序的方法n掌握Android虛擬設備的創(chuàng)建方法n了解R.java文件的用途和生成方法n了解AndroidManifest.xml文件的用途n了解Android的程序結(jié)構(gòu)n了解使用命令行創(chuàng)建Android應用程序方法3.1 第一個Android程序n創(chuàng)建Android工程q在Eclipse程序中建立過的Android工程,工程名稱和目錄結(jié)構(gòu)將顯示在Package Explorer區(qū)域內(nèi)3.1 第一個Android程序n創(chuàng)建Android工程q打開Android工程向?qū)В簄FileNewProj

2、ectAndroidAndroid ProjectnFile NewOther AndroidAndroid Project 3.1 第一個Android程序n創(chuàng)建Android工程q填寫工程名稱:n工程名稱必須唯一在Project name中填入HelloAndroidn新建的工程被保存在缺省的工作空間中n也可以取消“Use default location”的復選框,選擇其它位置保存Android工程3.1 第一個Android程序n創(chuàng)建Android工程q選擇程序運行的Android系統(tǒng)版本q除了在“Platform”中標識Android系統(tǒng)的版本外,還有一個“API Level”的屬性

3、。3.1 第一個Android程序n填寫應用程序名稱(Application name) n包名稱(Package name)是包的命名空間,需要遵循Java包的命名方法。q包名稱由兩個或多個標識符組成,中間用點隔開,例如hrbeu.HelloAndroid。 3.1 第一個Android程序n點擊“Finish”按鈕,工程向?qū)鶕?jù)用戶所填寫的Android工程信息,自動在后臺創(chuàng)建Android工程所需要的基礎文件和目錄結(jié)構(gòu)。q建過程結(jié)束3.1 第一個Android程序nAndroid虛擬設備(AVD)q為了讓Android程序能夠正常運行,必須首先建立Android虛擬設備(Android

4、 Virtual Device,AVD)n通過Eclipse的WindowAVD Manager啟動AVD管理器n在AVD管理器點擊“New”,打開AVD創(chuàng)建界面n完成AVD的配置后,點擊“Create AVD”保持AVD的配置信息,然后在AVD管理器點擊“Start”按鈕啟動Android模擬器。 3.1 第一個Android程序n啟動Android模擬器前配置q啟動Android模擬器前用戶還需在Launch Options中確認啟動項q包括將顯示尺寸縮放到實際屏幕尺寸和刪除模擬器中原有數(shù)據(jù)q以及從快照點啟動和存儲快照等 3.1 第一個Android程序n使用Eclipse運行Androi

5、d程序非常簡單qRunRun | Android ApplicationqRunDebug | Android Application便可運行Android程序 nHelloAndroid程序的運行結(jié)果 3.1 第一個Android程序n運行選項配置q通過RunRun Configurationq通過RunDebug Configuration 3.2 Android程序結(jié)構(gòu)n建立HelloAndroid程序q在建立HelloAndroid程序的過程中,ADT會自動建立一些目錄和文件q這些目錄和文件有其固定的作用,有的允許修改,有的不能修改。3.2 Android程序結(jié)構(gòu)n說明q在“Packa

6、ge Explore”中,ADT以工程名稱HelloAndroid作為根目錄,將所有自動生成的和非自動生成的文件都保存在這個根目錄下n子目錄、庫和工程文件q根目錄下包含5個子目錄src、gen、assets、bin和resq1個庫文件android.jarq3個工程文件Androidmanifest.xml、perties和proguard.cfg。 3.2 Android程序結(jié)構(gòu)nsrc目錄qsrc目錄是源代碼目錄,所有允許用戶修改的java文件和用戶自己添加的java文件都保存在這個目錄中 n工程建立初期qHelloAndroid工程建立初期,ADT根據(jù)用戶在工程向?qū)?/p>

7、中的“Create Activity”選項,自動建立HelloAndroid.java文件 3.2 Android程序結(jié)構(gòu)ngen目錄qgen目錄用來保存ADT自動生成的java文件q例如R.java或AIDL文件。這個目錄中的文件不建議用戶進行任何修改,如果用戶刪除該目錄中的文件,ADT會自動再次生成被刪除的文件。3.2 Android程序結(jié)構(gòu)nassets目錄qassets目錄用來存放原始格式的文件n例如音頻文件、視頻文件等二進制格式文件。q此目錄中的資源不能夠被R.java文件索引,因此只能以字節(jié)流的形式進行讀取。缺省為空目錄。3.2 Android程序結(jié)構(gòu)nbin目錄qbin目錄保存了

8、編譯過程中的所產(chǎn)生的文件,以及最終生產(chǎn)的apk文件。nres目錄qres目錄是資源目錄,Android程序所有的圖像、顏色、風格、主題、界面布局和字符串等資源都保存在其下的幾個子目錄中。q其中,drawable-hdpi、drawable-mdpi和drawable-ldpi目錄用來保存同一個程序中針對不同屏幕尺寸需要顯示的不同大小的圖像文件3.2 Android程序結(jié)構(gòu)nres目錄qlayout目錄用來保存與用戶界面相關的布局文件qvalues目錄保存顏色、風格、主題和字符串等資源。q在HelloAndroid工程中,ADT在每個drawable目錄中自動引入了一個不尺寸的icon.png文

9、件,Android系統(tǒng)會根據(jù)目標設備的屏幕分辨率,為HelloAndroid程序加載不同尺寸的圖標文件;在layout目錄生成了mail.xml文件q在values目錄生成了strings.xml文件,將應用程序名稱“HelloAndroid”和界面顯示的“Hello World, HelloAndroidActivity!”保存在這個文件中。3.2 Android程序結(jié)構(gòu)nandroid.jar文件qandroid.jar文件是Android程序所能引用的函數(shù)庫文件,Android系統(tǒng)所支持API都包含在這個文件中,nproguard.cfg文件qproguard.cfg文件是供ProGua

10、rd工具進行代碼優(yōu)化和代碼混淆使用的配置文件。 perties文件perties文件記錄了Android工程的相關設置,例如編譯目標和apk設置等,該文件不能手工修改3.2 Android程序結(jié)構(gòu)perties文件q如果需要更改其中的設置,必須通過右鍵單擊工程名稱,選擇“Properties”進行修改過。q從perties文件的代碼中可以發(fā)現(xiàn),大部分都是內(nèi)容注釋,僅有第12行是有效代碼,說明了Android程序的編譯目標perties文件的代碼如下: 1.# This file

11、 is automatically generated by Android Tools.2.# Do not modify this file - YOUR CHANGES WILL BE ERASED!3.# 4.# This file must be checked in Version Control Systems.5.# 6.# To customize properties used by the Ant build system use,7.# perties, and override values to adapt the script to your8.

12、# project structure.9.# Project target.10. target=android-143.2 Android程序結(jié)構(gòu)nAndroidManifest.xml qAndroidManifest.xml是XML格式的Android程序聲明文件n包含了Android系統(tǒng)運行Android程序前所必須掌握的重要信息,這些信息包括應用程序名稱、圖標、包名稱、模塊組成、授權(quán)和SDK最低版本等 3.2 Android程序結(jié)構(gòu)nAndroidManifest.xml文件的代碼如下:1.2.6. 8. 10. 11. 12. 13. 14. 15. 16. 17. 3.2 An

13、droid程序結(jié)構(gòu)nAndroidManifest.xml文件qmanifest元素僅能包含一個application元素,application元素中能夠聲明Android程序中最重要的四個組成部分n包括Activity、Service、BroadcastReceiver和ContentProvider,所定義的屬性將影響所有組成部分 3.2 Android程序結(jié)構(gòu)nactivity元素q是對Activity子類的聲明,不在AndroidManifest.xml文件中聲明的Activity將不能夠在用戶界面中顯示。 nintent-filter qintent-filter中聲明了兩個子元素

14、action和category 。nR.java文件qR.java文件是ADT自動生成的文件n包含對drawable、layout和values目錄內(nèi)的資源的引用指針,Android程序能夠直接通過R類引用目錄中的資源。3.2 Android程序結(jié)構(gòu)nHelloAndroid工程生成的R.java文件的代碼如下:1.package edu.hrbeu.HelloAndroid;2.public final class R 3. public static final class attr 4. 5. public static final class drawable 6. public st

15、atic final int icon=0 x7f020000;7. 8. public static final class layout 9. public static final int main=0 x7f030000;10. 11. public static final class string 12. public static final int app_name=0 x7f040001;13. public static final int hello=0 x7f040000;14. 15. 3.2 Android程序結(jié)構(gòu)n引用資源 資源引用有兩種情況:一種是在代碼中引用資

16、源;另一種是在資源中引用資源q代碼中引用資源,需要使用資源的ID,可以通過R.resource_type.resource_name或android.R.resource_type.resource_name獲取資源IDnresource_type代表資源類型,也就是R類中的內(nèi)部類名稱nresource_name代表資源名稱,對應資源的文件名或在XML文件中定義的資源名稱屬性q資源中引用資源,引用格式: package:type:namen表示對資源的引用npackage是包名稱,如果在相同的包,package則可以省略3.2 Android程序結(jié)構(gòu)nmain.xml文件qmain.xml文件

17、是界面布局文件,利用XML語言描述的用戶界面,界面布局的相關內(nèi)容將在第5章用戶界面設計中進行詳細介紹。nmain.xml文件的代碼如下: 2. 3.2 Android程序結(jié)構(gòu)nmain.xml文件q代碼的第7行說明在界面中使用TextView控件,TextView控件主要用來顯示字符串文本。q代碼第10行說明TextView控件需要顯示的字符串,非常明顯,string/hello是對資源的引用 3.2 Android程序結(jié)構(gòu)nStrings.xml文件的代碼q通過strings.xml文件的第3行代碼分析,在TextView控件中顯示的字符串應是“Hello World, Hel

18、loAndroidActivity!”。q如果讀者修改strings.xml文件的第3行代碼的內(nèi)容,重新編譯、運行后,模擬器中顯示的結(jié)果也應該隨之更改。 1.2.3. Hello World, HelloAndroidActivity!4. HelloAndroid5.3.2 Android程序結(jié)構(gòu)nHelloAndroid.javaq HelloAndroid.java是Android工程向?qū)Ц鶕?jù)Activity名稱創(chuàng)建的java文件q這個文件完全可以手工修改。q為了在Android系統(tǒng)上顯示圖形界面,需要使用代碼繼承Activity類q并在onCreate()函數(shù)中聲明需要顯示的內(nèi)容 3.2 Android程序結(jié)構(gòu)nHelloAndroid.java文件的代碼如下:q代碼的第3行和第4行,通過android.jar從Android SDK中引入了Activity和Bundle兩個重要的包,用以子類繼承和信息傳遞; 1.package edu.hrbeu.HelloAndroid;2.import android.app.Activity;3.import android.os.Bundle;4.public class HelloAndroid extends Activity 5. /* Called when the activity

溫馨提示

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

評論

0/150

提交評論