- Android程序設計實用教程
- 向守超 姚駿屏編著
- 1782字
- 2018-12-30 05:09:53
1.3 第一個Android應用程序
在前面的章節中,我們已經完成了Android開發環境的初步搭建以及虛擬設備AVD的創建,在本節中我們將開發第一個Android應用程序——HelloAndroid。并對Android應用程序結構進行詳細了解。Android應用程序開發步驟如下。
步驟一:啟動Eclipse,創建HelloAndroid項目。打開Android工程向導:File→New→Project…|Android→Android Project或File →New→Other …|Android→Android Project進入Android工程向導對話框,如圖1-11所示。在對話框的Project name文本框中填入項目名稱HelloAndroid,依次在項目界面中填入必要的信息,單擊Finish按鈕,則完成了我們的第一個項目創建。

圖1-11 Android工程向導對話框圖
注意:工程名稱必須唯一,不能與已有的工程重名,應用程序名稱,即Android程序在手機中顯示的名稱,顯示在手機的頂部;包名稱是包的命名空間,需遵循Java包的命名方法,由兩個或多個標志符組成,中間用點隔開,為了包名稱的唯一性,可以采用反寫電子郵件地址的方式;創建Activity是個可選項,如需要自動生成一個Activity的代碼文件,則選擇該項。Activity的名稱與應用程序的名稱不同,但為了簡潔,可以讓它們相同,表示這個Activity是Android程序運行時首先顯示給用戶的界面。應用程序版本號是可選項,可以填所選擇API版本的版本號。
步驟二:調試項目。在HelloAndroid項目上,單擊鼠標右鍵,則出現運行項目菜單選項,選擇Run As→Android Application,如圖1-12所示。系統將自動啟動虛擬設備,并將應用程序在虛擬設備中運行。觀察虛擬設備屏幕,將顯示我們開發的第一個Android應用程序項目界面,如圖1-13所示。注意,第一次啟動模擬器所用時間較長,一般需要3~5分鐘。

圖1-12 運行項目菜單選項圖

圖1-13 HelloAndroid運行示意圖
前面我們已經能夠創建自己的Android應用程序,現在我們需要對應用程序的目錄結構、資源管理以及程序權限進行更深入的理解。我們先來看我們前面建立的HelloAndroid項目的目錄結構圖,如圖1-14所示。

圖1-14 HelloAndroid項目的目錄結構圖
src目錄中存放的是該項目的源文件,所有允許用戶修改的Java文件和用戶自己添加的Java文件,都保存在這個目錄中。
gen目錄下的文件是ADT自動生成的,并不需要人為地去修改,實際上該目錄下只定義了一個R.java文件,該文件相當于項目的字典,項目中所涉及到的用戶界面、字符串、圖片、聲音等資源都會在該類中創建其唯一的ID編號,這些編號為整型,以十六進制自動生成。當項目中使用這些資源時,會通過該類得到資源的引用。
Android1.6目錄中存放的是支持該項目的JAR包,同時還包含項目打包是需要的META—INF目錄。
assets目錄用于存放項目相關的資源文件,例如文本文件等。此目錄中的資源不能夠被R.java文件索引,因此只能以字節流形式進行讀取,一般情況下為空。
res目錄用于存放應用程序中經常使用的資源文件,包括圖片、聲音、布局文件及參數描述文件等,包括多個目錄,其中以drawable開頭的三個文件夾用于存儲.png、.9.png、.jpg等圖片資源,layout文件夾存放的是應用程序的布局文件,raw用于存放應用程序所用到的聲音文件,values存放的則是所有XML格式的資源描述文件,例如字符串資源描述文件strings.xml、樣式的描述文件styles.xml、顏色描述文件colors.xml、尺寸描述文件dimens.xml以及數組描述文件arrays.xml等。
default.properties文件為項目配置文件,不需要人為改動,系統會自動對其進行管理。文件里面記錄了Android工程的相關設置,例如編譯目標和apk設置等。如果需要更改其中的設置,必須通過右擊工程名稱,在彈出的快捷菜單中選擇Properties選項修改。
AndroidManifest.xml文件為應用程序的系統配置文件也叫清單文件。該文件中包含了Android系統運行Android程序前所必須掌握的重要信息,這些信息包括應用程序名稱、圖標、包名稱、模塊組成、授權和SDK最低版本等。而且每個Android程序必須在根目錄下包含一個AndroidManifest.xml文件。下面我們看一個AndroidManifest.xml文件的基本格式:
<?xml version="1.0" encoding="utf-8"?> <!—在根元素里面定義命名空間 --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="xsc.text" <!— 定義應用程序包名 --> android:versionCode="1"<!— 定義應用程序版本號 --> android:versionName="1.0"><!— 定義應用程序版本名稱 --> <!— 定義應用程序的圖標和標簽名稱 --> <application android:icon="@drawable/icon" android:label="@string/ app_name"> <!— 聲明需要顯示的Activity類名和標簽名稱 --> <activity android:name=".HelloAndroidActivity" android:label="@string/app_name"> <intent-filter><!— 定義過濾器 --> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="4" /><!— 定義版本號 --> </manifest>
AndroidManifest.xml文件中還包含其他組件,例如Service、BroadcastReceiver、ContentProvider等,分別使用<service></service>標簽、<receiver></receiver>標簽、<provider></provider>標簽來聲明,我們在這里就不做詳細介紹,在以后的學習中再分別介紹。
在AndroidManifest.xml文件中,還可以為應用程序指定相應的權限,例如網絡權限、發送短信的權限、打電話的權限等。應用程序的權限有很多,全部都封裝到Manifest.permission類中,讀者可以自行查閱API。權限的使用方法是將權限聲明的語句添加到AndroidManifest.xml文件中</manifest>標簽之前,例如當某個應用程序需要添加發送短信的權限時,只需將“<uses-permission android:name="android.permission.SEND_SMS"/>”添加到AndroidManifest.xml文件</的manifest>標簽之前就可以了。應用程序除了聲明自身應該具有的權限外,還可以聲明訪問本應用程序的程序應該具有的權限,這樣,其他應用程序需要訪問該應用程序時,必須具有該應用程序所需要的權限。例如在<activity></activity>之間添加權限<uses-permission android:name="android.permission.SEND_SMS"/>,那么當其他應用程序需要訪問該程序時,就必須具有SEND_SMS權限。在表1-2中列出了部分常用的權限。
表1-2 Android部分常用權限表

本章我們主要介紹了Android概述、Android開發環境的配置與權限、Android項目的建立以及項目目錄結構。