




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、InstallAndroid安裝 Android 開發(fā)工具Android 提供免費(fèi)而且跨平臺(tái)的整合開發(fā)環(huán)境,只要電腦能連接上網(wǎng)路,我們隨時(shí)都能下載相關(guān)工具下來,並開始開發(fā) Android 應(yīng)用程式。 有了輕鬆易用的開發(fā)工具,我們可以把心力專注於如何將想法實(shí)現(xiàn)到應(yīng)用程式上。系統(tǒng)需求撰寫 Android 的應(yīng)用程式,需要一套個(gè)人電腦系統(tǒng)。至於作業(yè)系統(tǒng)的部份,幾個(gè)主流作業(yè)系統(tǒng)都有支援。支援的作業(yè)系統(tǒng)如下: Windows XP 或 Vista Mac OS X 或之後版本 (適用 x86 架構(gòu)的 Intel Mac) Linux (官方於 Ubuntu 6.10 Dapper Drake 上測(cè)試)我
2、們需要安裝一些 Android 開發(fā)環(huán)境所需的程式工具,這些工具都是可以免費(fèi)上網(wǎng)取得的: JDK 5 或 JDK 6你需要安裝 Java 開發(fā)工具 (JDK 5 或 JDK 6)。 只安裝 Java 運(yùn)行環(huán)境(JRE) 是不夠的,你需要安裝 Java 開發(fā)環(huán)境 (JDK)。 你可以在命令行上輸入 java -version 來查看目前系統(tǒng)上已安裝的 java 版本(java 版本需 1.5)。 要注意的是 Android 與 Java Gnu 編譯器 (gcj) 還不相容。 Eclipse IDE,一個(gè)多用途的開發(fā)工具平臺(tái)。你可以下載安裝 Eclipse 3.5 (代號(hào) Galileo) 、
3、3.4 (代號(hào) Ganymede) 或 Eclipse 3.3 (代號(hào) Europa) 版。 請(qǐng)注意你選擇的版本需包含 Eclipse Java 開發(fā)工具擴(kuò)充套件(Java Development Tool Plugin, JDT)。 大多數(shù) Eclipse IDE 包中都已含有 JDT 擴(kuò)充套件。若對(duì) Eclipse 平臺(tái)不熟悉的話,建議直接選擇 for Java Developers版本來下載。 ADT,基於 Eclipse 的 Android 開發(fā)工具擴(kuò)充套件 (Android Development Tools plugin)。 Android SDK,Android 程式開發(fā)套件,包
4、含 Android 手機(jī)模擬器(Emulator)。 其他開發(fā)環(huán)境工具(非必要安裝)o Linux 和 Mac 環(huán)境上需要自動(dòng)編譯的話可以自行安裝 Apache Ant 或之後版本,Windows 環(huán)境上則需要 Apache Ant 1.7 或之後版本。 o NetBeans、IDEA 等開發(fā)平臺(tái)亦有推出自己的 Android 開發(fā)工具,但本書中還是以討論官方基於 Eclipse 平臺(tái)的開發(fā)工具為準(zhǔn),其他平臺(tái)不予涉及。安裝流程假設(shè)讀者已先安裝了 JDK 5 或 JDK 6。 那麼 Android 的安裝流程可以分為以下五個(gè)步驟1. 下載 Eclipse2. 安裝 Eclipse3. 安裝 AD
5、T 擴(kuò)充套件4. 下載 Android SDK5. 設(shè)定 Android SDK詳細(xì)的安裝流程如下:1. 下載 Eclipse首先我們需要下載 Android 開發(fā)時(shí)會(huì)用到的整合開發(fā)環(huán)境 Eclipse。 目前 Android 應(yīng)用程式只支援使用Java程式語(yǔ)言來編寫 Android 應(yīng)用程式。所以開發(fā)前必須先安裝 Java 開發(fā)套件(Java Development Kit, JDK)。 各平臺(tái)的 JDK 可至下載。 Mac OS X 作業(yè)系統(tǒng)則已內(nèi)建 JDK。 安裝好 JDK 後,我們可以前往Eclipse網(wǎng)站下載 Eclipse 這個(gè)方便的整合開發(fā)環(huán)境。 下載 Eclipse 時(shí)請(qǐng)選Ec
6、lipse IDE for Java Developers或Eclipse IDE for Java EE Developers這兩種版本,只有這兩種版本才會(huì)預(yù)裝 Eclipse JDT 擴(kuò)充套件。 範(fàn)例中所選擇的是Eclipse IDE for Java Developers版本。 下載完同樣先解壓縮到適當(dāng)目錄下。2. 安裝 EclipseEclipse 不需要安裝,只要確認(rèn)你的系統(tǒng)上有安裝 Java,即可直接開啟 Eclipse 資料夾,點(diǎn)擊 Eclipse 開始執(zhí)行 Eclipse 整合開發(fā)環(huán)境。 第一次啟動(dòng) Eclipse 時(shí)會(huì)彈出視窗讓你決定預(yù)設(shè)的工作目錄。一般使用 Eclipse
7、預(yù)設(shè)的工作目錄即可。 進(jìn)入到 Eclipse IDE 後,不必急著四處觀望。我們先來安裝 Android 開發(fā)工具擴(kuò)充套件。3. 安裝 ADT 擴(kuò)充套件我們將在 Eclipse 上 安裝 Android 開發(fā)工具 (ADT)。Eclipse 3.5 版找到螢?zāi)簧戏降倪x單列, 選擇 Help-Install New Softare 選項(xiàng),這選項(xiàng)會(huì)帶出一個(gè)新視窗。 選擇Available Software標(biāo)籤,選擇右方的 Add. (新增網(wǎng)站)按鈕,會(huì)彈出一個(gè)輸入框。在輸入框中的Location欄位中輸入擴(kuò)充套件的名稱(Name) ADT 跟網(wǎng)址(URL) ,按下 OK 按鈕離開。Eclipse
8、會(huì)花一點(diǎn)時(shí)間尋找合適的版本。在視窗中全選項(xiàng)目Developer Tools中的的選項(xiàng)後,按下右方的Install按鈕。按下 Next (下一步)鍵。照著步驟就安裝完成。安裝完會(huì)提示需重新啟動(dòng) Eclipse,按下 Yes 重新啟動(dòng)。Eclipse 3.4 版找到螢?zāi)簧戏降倪x單列, 選擇 Help-Software Updates 選項(xiàng),這選項(xiàng)會(huì)帶出一個(gè)新視窗。 選擇Available Software標(biāo)籤,選擇右方的 Add Site. (新增網(wǎng)站)按鈕,會(huì)彈出一個(gè)輸入框。在輸入框中的Location欄位中輸入網(wǎng)址(URL) , 按下 OK 按鈕離開。Eclipse 會(huì)花一點(diǎn)時(shí)間尋找合適的版本
9、。在視窗中全選項(xiàng)目Developer Tools中的的選項(xiàng)後,按下右方的Install按鈕。按下 Next (下一步)鍵。照著步驟就安裝完成。安裝完會(huì)提示需重新啟動(dòng) Eclipse,按下 Yes 重新啟動(dòng)。Eclipse 3.3 版找到螢?zāi)簧戏降倪x單列, 選擇 Help-Software Updates-Find and Install 選項(xiàng),這選項(xiàng)會(huì)帶出一個(gè)新視窗。選擇 Search for new features to install (搜尋新功能供安裝)選項(xiàng),按下 Next (下一步)鍵。出現(xiàn)設(shè)定畫面。選擇右上角的 New Remote Site (新增遠(yuǎn)端網(wǎng)站)按鈕,會(huì)彈出一個(gè) Ne
10、w Update Site (新增更新網(wǎng)站)輸入框。在輸入框中輸入擴(kuò)充套件的名稱(Name) ADT 跟網(wǎng)址(URL) ,按下 OK 按鈕離開。按下 Finish 按紐繼續(xù)下一步。Eclipse 會(huì)花一點(diǎn)時(shí)間尋找合適的版本。接著我們要做的,就是等 Eclipse 顯示出選項(xiàng)時(shí),勾選合適的版本安裝。安裝完會(huì)提示需重新啟動(dòng) Eclipse,按下 OK 重新啟動(dòng)。離線安裝已經(jīng)安裝成功的讀者可以跳過這段。有些讀者因?yàn)榫W(wǎng)路環(huán)境的關(guān)係,無(wú)法順利地直接線上安裝 Android 開發(fā)工具。這時(shí)我們可以先前往,手動(dòng)下載最新的開發(fā)工具版本來離線安裝。下載完最新的ADT 擴(kuò)充套件後,打開 Eclipse 開發(fā)環(huán)境,
11、找到螢?zāi)簧戏降倪x單列, 選擇 Help-Software Updates 選項(xiàng),這選項(xiàng)會(huì)帶出一個(gè)新視窗。選擇Available Software標(biāo)籤,選擇右方的 Add Site. (新增網(wǎng)站)按鈕,會(huì)彈出一個(gè)輸入框。選擇右上角的Local.按鈕,並選取剛下載的 Android 最新開發(fā)工具檔案,選到之後按下 OK 按鈕離開。 在視窗中全選新出現(xiàn)項(xiàng)目的所有選項(xiàng)後,按下右方的Install按鈕。Eclipse 會(huì)花一點(diǎn)時(shí)間開始安裝 ADT 擴(kuò)充套件。4. 下載 Android SDK接著我們要從下載 Android 軟體開發(fā)套件 (Software Development Kit, SDK)。
12、下載下來的 SDK 檔案需要先解壓縮。Windows 平臺(tái)需要先另行安裝解壓縮程式,如免費(fèi)的7-zip解壓縮工具。 解壓縮後會(huì)出現(xiàn)一個(gè)資料夾。為了之後描述方便,我們將解壓縮後的 Android SDK 檔案夾命名為android_sdk。5. 設(shè)定 Android SDK打開偏好設(shè)定頁(yè)面(Preference),選擇 Android 標(biāo)籤(請(qǐng)確認(rèn)您已安裝好 ADT 擴(kuò)充套件,Android 標(biāo)籤才會(huì)出現(xiàn)在偏好設(shè)定頁(yè)面中),在 SDK Location 欄位按下 Browse.鍵,選擇剛剛解壓縮完的android_sdk檔案夾所在地,然後按下視窗右下角的套用(Apply) 按鈕。 這樣一來,An
13、droid SDK 就算是設(shè)定好啦。註解:若您安裝過 SDK 1.5 版之前的版本,請(qǐng)先移除後再重新安裝一次 ADT 擴(kuò)充套件,才能順利設(shè)定新版的 Android SDK。 方法是在螢?zāi)簧戏降倪x單列,選擇Help Software Updates選項(xiàng),在彈出的視窗上方點(diǎn)選Installed Software頁(yè)籤,選擇Android開頭的選項(xiàng),點(diǎn)選右側(cè)的Uninstall.按鈕移除這些相關(guān)的插件。下一步設(shè)定好 Android SDK 後,我們就擁有了一個(gè)完整的 Android 開發(fā)環(huán)境。 我們先來看看 Android SDK 中提供的一些範(fàn)例,好了解 Android 到底能做些什麼。Manage
14、SDK管理 SDK管理 SDK下載 SDK 組件在選單上選擇Window Android SDK and AVD Manager選項(xiàng),開啟 Android SDK/AVD 管理工具。在開啟的管理工具視窗中,切換到Installed Packages標(biāo)籤頁(yè),Installed Packages列表中預(yù)設(shè)只裝了Android SDK Tools,不包含目標(biāo) SDK。我們需要先自行安裝對(duì)應(yīng)的 SDK 組件。切換到Available Packages 標(biāo)籤頁(yè),開始裝目標(biāo) SDK。點(diǎn)選預(yù)設(shè)的網(wǎng)址,可以看到目前可用的目標(biāo) SDK、文件、Add-On,要完成本書中範(fàn)例,只要勾選對(duì)應(yīng)版本的目標(biāo) SDK、文件、
15、Add-On,然後按下Install Selected按鈕即可。在下一個(gè)視窗中可確認(rèn)剛勾選預(yù)備要安裝的 SDK 組件。勾選Accept All選項(xiàng)後,按下Install Accepted按鈕即開始自動(dòng)下載並安裝。在安裝完成後,切換到Installed Packages標(biāo)籤頁(yè),可以看到剛剛勾選的 SDK 組件都已經(jīng)安裝到開發(fā)環(huán)境中。刪除 SDK 組件經(jīng)過幾次 Android 版本升級(jí)後,我們的列表中可能會(huì)包含許多舊版本的 SDK。這時(shí)可以透過選取列表中的組件,點(diǎn)選下方的Delete.按鈕來刪除這些過時(shí)的組件。我們隨時(shí)還可以回到管理工具的Available Packages標(biāo)籤頁(yè),把組件下載回來。
16、安裝好 SDK 組件後,我們就可以開始來熟悉開發(fā)環(huán)境了。OpenProject開啟現(xiàn)有專案開啟專案我們回到 Eclipse 環(huán)境來。在螢?zāi)簧戏降倪x單列上,選擇File-New-Project,會(huì)彈出New Project對(duì)話視窗。 Eclipse 是通用的編輯環(huán)境,可根據(jù)你所安裝的不同擴(kuò)充套件而支援許多種類的專案。 點(diǎn)擊 Android 資料夾下的Android Project,會(huì)開啟New Android Project對(duì)話視窗。我們將開啟SDK 組件中提供的 ApiDemos 範(fàn)例。在New Android Project對(duì)話視窗中,點(diǎn)選 Browse.按鈕以選擇開啟已經(jīng)存在的專案(Cre
17、ate project from existing source)。我們?cè)诖诉x擇位於android_sdk/platforms/android-2.0/samples目錄中的 Android 應(yīng)用程式專案 (android_sdk/platforms/android-2.0/samples/ApiDemos)。當(dāng)我們選擇了現(xiàn)存的範(fàn)例程式專案時(shí),New Android Project對(duì)話視窗中的諸如專案名稱(Project Name)與屬性等內(nèi)容都將被自動(dòng)填寫好。這時(shí)我們可以按下 Finish按鈕,完成從現(xiàn)存專案新增專案到 Eclipse 環(huán)境的動(dòng)作。匯入專案如果你的程式專案已位於工作環(huán)境(Wo
18、rkSpace)資料夾下,想使用上述方法開啟專案時(shí),會(huì)得到欲開啟的資料夾已在工作目錄下的警告。因此我們得用另一個(gè)方法:匯入專案。在螢?zāi)簧戏降倪x單列上,選擇File-Import選項(xiàng),會(huì)跳出Import視窗。選擇General-Existing Projects into WorkSpace項(xiàng)目,然後按下Next按鈕帶到新一個(gè)畫面。在Select Root Directory欄位旁,按下右方的Browse.按鈕,選擇對(duì)應(yīng)的專案。選擇好後,按下Finish按鈕完成從現(xiàn)存在工作環(huán)境(WorkSpace)資料夾下的專案匯入到 Eclipse 環(huán)境的動(dòng)作。不同 SDK 版本的範(fàn)例專案會(huì)放在android
19、_sdk/platforms/android-版本/samples目錄中,請(qǐng)自行根據(jù)要開發(fā)的版本來選擇範(fàn)例。修復(fù)專案完成新增程式專案到 Eclipse 後,我們可以在左側(cè)的Package Explorer中找到我們新增的專案。如果發(fā)現(xiàn)開啟後的資料夾圖示上有個(gè)小小的黃色驚嘆號(hào),表示這個(gè)專案匯入後還有些問題,我們可以使用ADT內(nèi)建的功能來試著修復(fù)專案屬性。 在Package Explorer的 ApiDemos 專案檔案夾圖示上點(diǎn)選右鍵,從Android Tools選單中選擇修復(fù)專案屬性(Fix Project Properties)。 (Android Tools-Fix Project Pro
20、perties)如果發(fā)現(xiàn)開啟後的資料夾圖示上有個(gè)小小的紅色叉號(hào),表示這個(gè)專案開啟/匯入後遇到了無(wú)法編譯的問題。最常見的也是與無(wú)法正常生成gen目錄相關(guān)的問題。一般簡(jiǎn)單的解決方式是打開專案中任一 XML 檔案(如AndroidManifest.xml 或是res目錄下附檔名為 .xml 的檔案),改變一下內(nèi)容(如在檔案中多按一個(gè)空格)後存檔,這時(shí)開發(fā)工具會(huì)自動(dòng)編譯生成gen目錄中新的內(nèi)容。這樣無(wú)法編譯的問題往往就解決了。如何修改 XML 檔案在後面章節(jié)中會(huì)提到。切換 SDK 版本Android 在 SDK 1.5 版之後引入了支援多個(gè)版本 SDK 與模擬器的新特性,讓我們得以透過修改屬性設(shè)定畫面
21、的設(shè)定,來切換用來編譯與運(yùn)行這些專案的目標(biāo) SDK 版本。在Navigator的ApiDemos專案檔案夾圖示上點(diǎn)選右鍵,選擇properties選項(xiàng),會(huì)開啟專案屬性設(shè)定畫面。在設(shè)定畫面中先選擇左方的 Android 標(biāo)籤,選擇後會(huì)出現(xiàn)可勾選的Project Build Target選單。在選單中選擇適當(dāng)?shù)哪繕?biāo)版本,選擇好之後按下 OK 結(jié)束設(shè)定畫面,這時(shí)專案就已經(jīng)切換成可使用目標(biāo)版本編譯的狀態(tài)了。PlayEmulator操作 Android 虛擬機(jī)器使用 Android 虛擬機(jī)器我們已經(jīng)透過Eclipse開發(fā)環(huán)境,開啟了ApiDemos專案。本章將講解如何設(shè)定和操作 Android 虛擬機(jī)器
22、。設(shè)定 Android 虛擬機(jī)器現(xiàn)在我們還不忙著開始寫程式,先花點(diǎn)時(shí)間,來看看怎麼在開發(fā)環(huán)境中,透過Android 虛擬機(jī)器來執(zhí)行應(yīng)用程式吧。由於在剛開始開發(fā)時(shí),我們手邊並不一定已擁有 Android 設(shè)備。因此 Android 開發(fā)工具亦提供了相當(dāng)強(qiáng)大的模擬器,能讓我們自由配置,模擬各種硬體規(guī)格的設(shè)備。在 Android 中一律把 Android 模擬器稱作Android 虛擬機(jī)器(Android Virtual Device),簡(jiǎn)寫為AVD。Android 軟體開發(fā)套件(SDK) 1.5 以上的版本提供了支援不同目標(biāo)版本虛擬機(jī)器的功能,在使用虛擬機(jī)器之前,必須先建立一個(gè)虛擬機(jī)器後才可在 E
23、clipse 開發(fā)環(huán)境中使用。SDK 中提供了一個(gè)android命令行工具(在 android-sdk/tools 中),可以用來建立新專案或是管理虛擬機(jī)器。在此我們使用android命令行工具來新建立一個(gè)虛擬機(jī)器。列出虛擬機(jī)器類型首先,把a(bǔ)ndroid-sdk/tools 目錄加入系統(tǒng)路徑,我們以後就可以在任何地方使用android-sdk/tools 目錄下的各種命令。在 Windows 2000、XP、2003、Windows 7 這些作業(yè)系統(tǒng)裡,點(diǎn)選控制臺(tái) 系統(tǒng) 進(jìn)階 環(huán)境變數(shù)。在系統(tǒng)變數(shù)(S)欄中,選取PATH變數(shù)名稱後,再點(diǎn)選編輯(I)按鈕。再此假設(shè)您安裝 Android SDK
24、的路徑是C:android-sdktools,接著在彈出的視窗中將;C:android-sdktools(注意要以分號(hào)隔開)這字串添在原本的字串之後,按下確定後重新啟動(dòng)作業(yè)系統(tǒng)。重開系統(tǒng)後選擇開始 執(zhí)行,在彈出的輸入框中輸入cmd,即可開啟命令行工具並繼續(xù)以下的動(dòng)作?;蚴悄部梢灾苯哟蜷_命令行,進(jìn)入android-sdk/tools 目錄,輸入以下命令:$ android list targets在沒有將 Android SDK 加入路徑的情況下,在 Linux 或 Mac 環(huán)境中要輸入$ ./android list targets螢?zāi)簧蠒?huì)列出所有支援的虛擬機(jī)器類型$ android lis
25、t targetsAvailable Android targets:id: 1 Name: Android Type: Platform API level: 2 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-Pid: 2 Name: Android Type: Platform API level: 3 Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-Pid: 3 Name: Google APIs Type: Add-On Vendor: Google Inc. Descri
26、ption: Android + Google APIs Based on Android (API level 3) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: HVGA (default), HVGA-L, QVGA-P, HVGA-P, QVGA-L在這邊列出了三種虛擬機(jī)器類型。分別是編號(hào)(id)為 1、2 的 Android 1.1、1.5 虛擬機(jī)器,與編號(hào)(id)為 3 的Google APIs,Google 把自己提供的應(yīng)用程式(如 Google Map)放在Google AP
27、Is這個(gè)虛擬機(jī)器類型中,因此要開發(fā) Google Map 等 Google 專屬應(yīng)用程式時(shí),就必須先建立編號(hào) 3 這類型的虛擬機(jī)器,稍後才能在適當(dāng)?shù)奶摂M機(jī)器上作驗(yàn)證。建立虛擬機(jī)器我們現(xiàn)在來建立一個(gè)基本的 Android SDK 2.0 虛擬機(jī)器。在命令行中輸入以下命令:$ android create avd -target 1 -name eclair這段命令的意思是:使用android create avd命令來建立一個(gè)新的虛擬機(jī)器, -target 1參數(shù)的意思是這個(gè)虛擬機(jī)器使用 id 為 1 的 SDK 套件(Android 1.5),-name eclair參數(shù)的意思是將這個(gè)建立的虛
28、擬機(jī)器命名為eclair。產(chǎn)生的結(jié)果如下$ android create avd -target 1 -name eclairAndroid is a basic Android platform.Do you wish to create a custom hardware profile noCreated AVD cupcake based on Android 列出已建立的虛擬機(jī)器我們可以使用 Android命令行工具提供的list avd命令,來列出所有我們已經(jīng)建立的模擬器。在命令行中輸入以下命令:$ android list avd產(chǎn)生的結(jié)果如下:$ android list av
29、dAvailable Android Virtual Devices: Name: eclair Path: /Users/mac/.android/avd/cupcake.avd Target: Android (API level 5) Skin: HVGA使用 android list avd命令看到有輸出,即表示已成功建立虛擬機(jī)器,可以回到 Eclipse 環(huán)境來,設(shè)定執(zhí)行應(yīng)用程式專案所需的環(huán)境參數(shù)了。設(shè)定環(huán)境參數(shù)要執(zhí)行 ApiDemos 程式前,我們得在開發(fā)環(huán)境中,事先設(shè)定好一些用來執(zhí)行 ApiDemos 程式的環(huán)境參數(shù)。 以後使用其他程式專案時(shí),我們也能用同樣的方式,讓這些程式在我
30、們的開發(fā)環(huán)境中運(yùn)行。首先,我們透過選單列上的Run(執(zhí)行)選單,選擇開啟執(zhí)行參數(shù)設(shè)定(Run- Debug Configurations.) 進(jìn)入運(yùn)行環(huán)境參數(shù)設(shè)定畫面。進(jìn)入設(shè)定畫面後,在視窗左側(cè)會(huì)有一整排 Eclipse 支援的運(yùn)行設(shè)定,我們從中找到 Android Application(Android 應(yīng)用程式)項(xiàng)目,按下滑鼠右鍵,點(diǎn)選 New(新增)選項(xiàng)。選擇 New 選項(xiàng)後,在Android Application項(xiàng)目下方會(huì)多出一筆執(zhí)行項(xiàng)目。我們可以在 Name 欄位上輸入一個(gè)代表這個(gè)環(huán)境參數(shù)的名稱,在此我們輸入與專案名稱相同的ApiDemos。在Project欄位右方,點(diǎn)選Brows
31、e.按鈕,開啟專案選擇(Project Selection)視窗,選擇ApiDemos專案並點(diǎn)選OK按鈕,以選擇要執(zhí)行的專案。在 Launch Action 選單中,確認(rèn)預(yù)設(shè)選擇的是Launch Default Activity。至此我們就完成了模擬器環(huán)境參數(shù)的設(shè)定。 點(diǎn)選右下角的Debug按鈕,Eclipse 就會(huì)啟動(dòng) Android 虛擬機(jī)器。小技巧:在選單列中,也可以選擇設(shè)定Run Configuration.選項(xiàng)。這時(shí)我們得到的是一個(gè)幾乎完全相同的環(huán)境參數(shù)設(shè)定畫面,只是右下角的Debug按鈕變成了Run按鈕。Debug與Run模式的環(huán)境參數(shù)設(shè)定可以共用,差別在於Debug模式下可以使用
32、在之後章節(jié)中會(huì)介紹的 logd,來顯示一些開發(fā)時(shí)所需的額外訊息。再次啟動(dòng) Android 虛擬機(jī)器當(dāng)我們?cè)O(shè)定好之後,以後碰到要再次啟動(dòng)虛擬機(jī)器的情況時(shí),只要在螢?zāi)蛔笊辖堑腄ebug或Run圖示右側(cè)小箭頭上按一下,從彈出的選單中選擇剛剛設(shè)定的環(huán)境參數(shù)名稱,虛擬機(jī)器即開始執(zhí)行,並安裝好我們所指定的專案應(yīng)用程式。操作虛擬機(jī)器改變虛擬機(jī)器外觀在建立虛擬機(jī)器的時(shí)候,我們可以透過skin欄位來選擇預(yù)設(shè)的虛擬機(jī)器外觀。skin欄位中會(huì)列出目標(biāo)(Target)版本支援的所有外觀。HVGA(解析度 480x320)、QVGA(解析度 320x240)等分別代表著各種不同畫面的解析度在命令列上執(zhí)行android
33、list targets命令後,我們可以看到螢?zāi)簧狭谐鏊兄г哪M器類型。舉我們剛才建立過的(id 1)虛擬機(jī)器為例,列出訊息如下:id: 1 Name: Android Type: Platform API level: 5 Skins: HVGA (default), QVGA, WQVGA400, WQVGA432, WVGA800, WVGA854其中 Skins 欄位中會(huì)列出所有支援的模擬器佈景,預(yù)設(shè)有多種畫面配置選項(xiàng)可選擇。要建立QVGA模式的模擬器,則在前一節(jié)android create avd命令後,附加上-skin QVGA選項(xiàng)即可。要將預(yù)設(shè)的HVGA 直式顯示改為橫式,則
34、可以透過使用快速鍵,直接切換螢?zāi)粊磉_(dá)成。切換螢?zāi)环较蛟?Windows 作業(yè)系統(tǒng)上按下 Ctrl和F12鍵 ,或是在 Mac OS X 作業(yè)系統(tǒng)上同時(shí)按下fn 和7鍵,螢?zāi)痪蜁?huì)從預(yù)設(shè)的直式顯示改成橫式顯示,再按一次則切換回原來的直式顯示。移除程式我們已經(jīng)順利地啟動(dòng)了虛擬機(jī)器,那麼,該怎麼移除安裝到虛擬機(jī)器上的程式哩?Android SDK 中提供一個(gè) adb (Android Debugger) 命令行工具 (在 android-sdk/tools 中),我們可以用裡面的 shell 工具連上虛擬機(jī)器來移除應(yīng)用程式。在某些平臺(tái)上,這些動(dòng)作可能需要擁有 root 權(quán)限才能執(zhí)行。首先打開命令列,啟
35、動(dòng) adb shell $ adb shell接著切換到 data/app 目錄中 $ cd data/app/使用 ls 命令(等同 windows 上命令行的 dir 命令)來檢視檔案列表 # ls com.example.android.apis.apk接著使用 rm 命令來刪除 ApiDemos 應(yīng)用程式 # ls移除虛擬機(jī)器我們可以使用android list avd命令來列出所有的虛擬機(jī)器$ android list avdAvailable Android Virtual Devices: Name: eclair Path: /Users/mac/.android/avd/cu
36、pcake.avd Target: Android (API level 5) Skin: HVGA表示現(xiàn)在系統(tǒng)中有一個(gè)名為 eclair 的虛擬機(jī)器。 我們可以使用android delete avd -name eclair命令來刪除名稱為eclair的虛擬機(jī)器。$ android delete avd -name eclairAVD eclair deleted.刪除後再次執(zhí)行android list avd命令,得到的結(jié)果為$ android list avdAvailable Android Virtual Devices:表示系統(tǒng)中已經(jīng)不存在任何模擬器,我們真的已經(jīng)將虛擬機(jī)器刪除了
37、。ReadSource建立一個(gè) Android 程式在前幾章我們已經(jīng)學(xué)到怎麼開啟現(xiàn)有的專案,也導(dǎo)覽過了整個(gè)模擬器的設(shè)定流程。 現(xiàn)在我們從設(shè)計(jì)一個(gè)簡(jiǎn)單實(shí)用的身高體重指數(shù)計(jì)算(BMI)應(yīng)用程式開始,學(xué)習(xí)設(shè)計(jì)一個(gè) Android 應(yīng)用程式所需的基礎(chǔ)。維基百科上這麼介紹 BMI 身高體重指數(shù):身高體重指數(shù)(又稱身體質(zhì)量指數(shù),英文為Body Mass Index,簡(jiǎn)稱BMI)是一個(gè)計(jì)算值。.當(dāng)我們需要比較及分析一個(gè)人的體重對(duì)於不同高度的人所帶來的健康影響時(shí),BMI值是一個(gè)中立而可靠的指標(biāo)。 簡(jiǎn)而言之,我們要設(shè)計(jì)的程式就是允許輸入身高體重,按下計(jì)算 BMI鍵後就在螢?zāi)簧巷@示 BMI 值,並彈出你應(yīng)該節(jié)食囉
38、、或你應(yīng)該多吃點(diǎn).等健康建議。健康建議的判斷: 只要 BMI 值超過 25 時(shí)就算偏胖、BMI 值低於 20 就算偏瘦。 判斷寫得很簡(jiǎn)單。畢竟我們要學(xué)習(xí)的關(guān)鍵知識(shí),不是在於 BMI 值的算法或健康建議的內(nèi)容,而是在於 Android 程式的運(yùn)作方式。參考資源我們這就先從建立一個(gè)新的程式專案開始吧。建立新程式專案首先,我們照前面章節(jié)的教學(xué),建立一個(gè)新的程式專案。並將新專案名稱命名為 BMI。 在內(nèi)容欄裡,我們選擇在工作區(qū)域中建立新專案(Create new project in workspace)。 這時(shí),如果在選擇欄取消掉勾選使用預(yù)設(shè)目錄(Use default location) 選項(xiàng),我
39、們就可以切換儲(chǔ)存專案的資料夾。 大部分的時(shí)候我們並不需去改動(dòng)這個(gè)選項(xiàng),而是直接使用預(yù)設(shè)的資料夾。前面章節(jié)中都是開啟現(xiàn)有的專案,因此那些專案屬性 (Properties) 等內(nèi)容都被自動(dòng)填寫好了。這章中要從無(wú)到有新建一個(gè)專案,因此我們必須自行填寫專案相關(guān)的屬性。在此對(duì)New Android Project 對(duì)話框中出現(xiàn)的這些欄位作些簡(jiǎn)單的說明:名稱描述Project Name包含這個(gè)項(xiàng)目的資料夾的名稱Application Name顯示在應(yīng)用程式上的標(biāo)題Package Name套件(Package)名稱,JAVA 的習(xí)慣是用套件名稱來區(qū)分不同的類別(class)。依照專案的不同,我們會(huì)起不同的路
40、徑名稱。Create Activity使否建立這個(gè)是項(xiàng)目的主要類別,勾選後可以指定這個(gè)類別的名稱。這個(gè)類別是一個(gè) Activity 類別的子類別。我們可以在Activity中啟動(dòng)程式和控制程式流程,或是根據(jù)需要控制螢?zāi)?、界面。Build Target選擇用來編譯專案的 SDK 版本。 當(dāng)選定了 Build Target 後,開發(fā)工具會(huì)在 Min SDK Version 欄位中自動(dòng)填入對(duì)應(yīng)的值Min SDK Version本應(yīng)用程式所支援的最低 SDK 版本代號(hào)。我們?cè)跈谖恢蟹謩e填入以下的值:名稱值Project NameBMIApplication NameBMIPackage NameCre
41、ate ActivityBmiMin SDK Version5(自動(dòng)填入)填好值後按下Finish 按鈕,就建立好新專案了。注意 Package Name 的設(shè)定,必須至少由兩個(gè)部分所構(gòu)成,例如:com.android。Activity Name是指定用來產(chǎn)生預(yù)設(shè) java 程式碼的文件名稱,與文件中預(yù)設(shè) Activity 類別 (class) 的名稱。依照 java 語(yǔ)言的命名習(xí)慣,Activity Name最好採(cǎi)用開頭大寫的形式。回到 Eclipse 主畫面,我們注意到在左側(cè) Package Explorer 視窗中已順利新增加了一個(gè) BMI 目錄。程式專案架構(gòu)乍看之下,Android 插
42、件已幫我們建立了不少檔案。 檢視新建立的 BMI 檔案夾中的內(nèi)容,我們可以將一個(gè) Android 應(yīng)用程式基本的檔案結(jié)構(gòu)歸納成如下:我們來看看 Android 應(yīng)用程式的基本檔案結(jié)構(gòu),以及各自所負(fù)責(zé)的內(nèi)容。src/ 原始碼(source)目錄src 目錄中包含了一個(gè) Android 應(yīng)用程式中所需的各個(gè)程式碼檔案。這些檔案被包在對(duì)應(yīng) package 的子目錄下。(如本章的 BMI 例子中,子目錄指的就是 /src/com/demo/android/bmi/)src 目錄中比較關(guān)鍵的程式有:1. Bmi.java 這個(gè)檔案的檔名會(huì)隨著你在建立一個(gè)新的程式專案畫面中所填入Create Activi
43、ty欄位值的不同而改變。這是新程式專案中的主要程式區(qū)塊。我們開發(fā) Android 程式的多數(shù)時(shí)間,都是在 src 目錄下和 Android 打交道。gen/ 自動(dòng)生成(Generate)目錄gen 目錄中存放所有自動(dòng)生成的檔案。gen 目錄中最關(guān)鍵的程式就是 R.java 檔。1. R.java 這個(gè)檔是自動(dòng)產(chǎn)生的。會(huì)由 ADT 插件自動(dòng)根據(jù)你放入 res 目錄的 XML 描述文件、圖像等資源,同步更新修改 R.java 這個(gè)中介檔案。所有的 Android 程式中都會(huì)有以 R.java 為名的這個(gè)檔案,你完全不需要,也應(yīng)避免手工修改 R.java 這個(gè)檔案。R.java 中自動(dòng)產(chǎn)生的 R 類
44、別就像是個(gè)字典一樣,包含了使用者介面、圖像、字串等各式的資源與相應(yīng)的編號(hào)(id)。Android 應(yīng)用程式中很多時(shí)候會(huì)需要透過 R 類別調(diào)用資源。 編譯時(shí)編譯器也會(huì)查看這個(gè)資源列表,沒有使用到的資源就不會(huì)編譯進(jìn)去,為手機(jī)應(yīng)用程式節(jié)省不必要佔(zhàn)用的空間。res/ 資源(Resource)目錄res 目錄中存放所有程式中用到的資源檔案。資源檔案指的是資料檔案,或編譯時(shí)會(huì)被轉(zhuǎn)換成程式一部分的 XML 描述檔。Android 針對(duì)放在 res 目錄下的不同子目錄的資源,會(huì)有各自不同處理方式。因此我們寫程式時(shí),最好能搞清楚各目錄下分別可放置的內(nèi)容。res/ 中的程式:3. layout/ 版面配置(lay
45、out)目錄 layout目錄包含所有使用 XML 格式的介面描述檔。layout 中的 XML 介面描述檔就像寫網(wǎng)頁(yè)時(shí)用到的 HTML 檔案一樣,用來描述螢?zāi)簧系陌婷婢幣排c使用的介面元件。XML 介面描述檔描述的內(nèi)容可以是整張螢?zāi)唬部梢灾幻枋鲆徊糠值慕槊?例如描述用來產(chǎn)生對(duì)話框的介面元件)。雖然你也能直接通過 Java 來建立使用者介面,不過透過 XML 描述檔來建立使用者介面相對(duì)更簡(jiǎn)單,架構(gòu)也更清晰,以後維護(hù)時(shí)更容易釐清問題。要使用這些介面元件,應(yīng)透過 R.java 檔中自動(dòng)產(chǎn)生的 R 類別來調(diào)用。4. values/ 參數(shù)值(value)目錄 values 目錄包含所有使用 XML 格
46、式的參數(shù)值描述檔,可以在此添加一些額外的資源如字串(很常用)、顏色、風(fēng)格等。使用時(shí)也是透過 R 類別來調(diào)用。Android 功能清單5.AndroidManifest.xmlAndroidManifest.xml 是 Android 程式的功能清單,應(yīng)用程式在這裡列出該程式所提供的功能。當(dāng)應(yīng)用程式開啟時(shí),會(huì)提供諸如內(nèi)容提供者(ContentProvider)、處理的資料類型、實(shí)際運(yùn)行的類別、跨應(yīng)用程式的資訊等等訊息。 你可以在此指定你的應(yīng)用程式會(huì)使用到的服務(wù)(諸如電話功能、網(wǎng)路功能、GPS功能等)。 當(dāng)你新增一個(gè)頁(yè)面行為類別 (Activity) 時(shí),你也需要先在此註冊(cè)這個(gè)新增的 Activi
47、ty 類別後,才能順利調(diào)用。AndroidUI描述使用者介面將一份創(chuàng)意落實(shí)到可執(zhí)行的應(yīng)用程式,背後需要的是從閱讀與寫作程式碼中累積的經(jīng)驗(yàn),並有堅(jiān)持理念、直到完成的耐心。表達(dá)使用者介面我們可以先用前幾章教的方法設(shè)定並執(zhí)行模擬器,看看模擬器運(yùn)作後的結(jié)果。我們看到一個(gè)文字欄位,上面有一串文字 Hello World, Bmi!。這就是 Android 預(yù)設(shè)程式架構(gòu)的範(fàn)例囉。由於才剛開始實(shí)際接觸到 Android 應(yīng)用程式,我們先從簡(jiǎn)單的開始:這一節(jié)中,我們的目標(biāo)是將 Hello World, Bmi! 換成別的文字。那麼,Hello World, Bmi!,這串字串藏在哪裡呢?先打開 res/lay
48、out/main.xml 1 2 7 12 原來Hello World, Bmi!字串就藏在res/layout/main.xml這個(gè)檔案的第 10 行中。我們只要簡(jiǎn)單地將第 10 行修改成如下android:text=Hello World, Bmi!”再執(zhí)行一次模擬器,就可以得到一個(gè)相似的應(yīng)用程式,只是內(nèi)文變成了我們剛剛修改的內(nèi)容。既然找到了Hello World, Bmi!字串,我們就試著將android:text屬性值從Hello World, Bmi!改成哈囉,BMI,然後執(zhí)行看看吧。android:text=哈囉,BMI結(jié)果發(fā)現(xiàn) Android 模擬器中文嘛也通,字型也相當(dāng)漂亮。要
49、開始學(xué)習(xí) Android 應(yīng)用程式確實(shí)很簡(jiǎn)單吧?不過為了顯示Hello World, Bmi,也用到了許多程式碼。到底這些程式碼有什麼含意呢?我們馬上來學(xué)習(xí) main.xml這個(gè) XML 介面描述檔的內(nèi)涵吧。Android 平臺(tái)裡,使用者介面都是透過 ViewGroup 或 View 類別來顯示。ViewGroup 和 View 是 Android 平臺(tái)上最基本的使用者介面表達(dá)單元。我們可以透過程式直接呼叫的方法,調(diào)用描繪使用者介面,將螢?zāi)簧巷@示的介面元素,與構(gòu)成應(yīng)用程式主體的程式邏輯,混合在一起編寫?;蚴?,也可以將介面顯示與程式邏輯分離,照著 Android 提供的這個(gè)較優(yōu)雅的方式,使用 X
50、ML 描述檔,來描述介面元件的組織。講解我們看到的Hello World, Bmi就包含在main.xml 這個(gè)檔案中。 接著,我們就直接分部份來講解這個(gè)main.xml 檔案裡的內(nèi)容:第 1 行 XML (Extensible Markup Language) 是一種標(biāo)記描述語(yǔ)言,不管是語(yǔ)法還是看起來的樣子,都相當(dāng)類似網(wǎng)頁(yè)所使用的 HTML 標(biāo)記語(yǔ)言。XML 被廣泛地運(yùn)用在 Java 程式的設(shè)定中。main.xml 文件裡,第一行是每個(gè) XML 描述檔固定的開頭內(nèi)容,用來指示這個(gè)文字檔案是以 XML格式描述的。第 2, 6 與 12 行 LinearLayout xmlns:android=
51、接著我們看到第一個(gè)標(biāo)籤,與 HTML 網(wǎng)頁(yè)標(biāo)籤相當(dāng)類似。 線性版面配置(LinearLayout)標(biāo)籤,使用了兩個(gè)LinearLayout標(biāo)籤,來表示一個(gè)介面元件的區(qū)塊。後頭的標(biāo)籤前加上一個(gè)/符號(hào)來表示結(jié)束標(biāo)籤。線性版面配置 所指的是包含在 LinearLayout 標(biāo)籤中,所有元件的配置方式,是將一個(gè)接一個(gè)元件由上而下排隊(duì)排下來的意思。 xmlns:android=xmlns 開頭的這串?dāng)⑹?,是用來宣告這個(gè) XML 描述檔案的的名稱空間(NameSpace),後面接的URL(網(wǎng)址),表示這個(gè)描述檔案會(huì)參照到 Android 名稱空間提供的定義。 所有 Android 版面配置檔案的最外層標(biāo)籤
52、中,都必須包含這個(gè)屬性。注意標(biāo)籤需要兩兩對(duì)稱。一個(gè)標(biāo)籤在一串?dāng)⑹龅那邦^,另一個(gè)標(biāo)籤在敘述的末尾。 如果你修改過的標(biāo)籤沒有閉合(忘了加 等符號(hào)),Eclipse 畫面上也會(huì)出現(xiàn)小小的警示符號(hào)來提醒你。第 3-5 行 android:orientation=vertical android:layout_width=fill_parent android:layout_height=fill_parent這些包含在標(biāo)籤中的敘述被稱為L(zhǎng)inearLayout標(biāo)籤的屬性。Android 應(yīng)用程式在 layout 目錄中的標(biāo)籤,大多數(shù)的屬性前都有一個(gè)android:前綴。同一個(gè)介面元件的屬性之間,是以空
53、白做區(qū)隔,因此事實(shí)上你也能將多個(gè)屬性寫在同一行。當(dāng)然,將屬性排成多行更易於閱讀。我們應(yīng)該保持這個(gè)好習(xí)慣。介面元件都有許多共同的屬性,例如介面元件的長(zhǎng),寬度設(shè)定屬性。Android 介面元件的寬度、長(zhǎng)度設(shè)定屬性分別叫做android:layout_width、android:layout_height。兩個(gè)都設(shè)定為 fill_parent參數(shù)值。fill_parent 如其名,所表達(dá)的的意思就是填滿整個(gè)上層元件。預(yù)設(shè) LinearLayout 介面元件就會(huì)佔(zhàn)滿整個(gè)螢?zāi)豢臻g。介面元件彼此間也會(huì)有一些不同的屬性,例如 LinearLayout(線性版面配置) 標(biāo)籤的android:orientation(版面走向) 屬性。在此填入 vertical (垂直)屬性值,表示這個(gè)介面的版面配置方式是從上而下垂直地排列其內(nèi)含的介面元件。android.view.ViewGroup
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中課件資源整合與使用指南
- 肝膿腫護(hù)理疾病查房
- AI技術(shù)在醫(yī)療領(lǐng)域應(yīng)用及其法規(guī)約束
- 辦公場(chǎng)景下的AI創(chuàng)新實(shí)踐
- 人性化辦公家具醫(yī)療領(lǐng)域的用戶體驗(yàn)提升
- 給藥程序操作流程及指引
- 腸梗阻的護(hù)理及飲食指導(dǎo)
- 神奇課件設(shè)計(jì)
- 防洪應(yīng)急預(yù)案培訓(xùn)課件
- 臨床決策支持系統(tǒng)的倫理與法律問題探討
- 第六節(jié)勃朗特姐妹分析課件
- PE管安裝施工方案
- 黃顙魚成魚養(yǎng)殖技術(shù)
- 童裝陳列手冊(cè)
- 十二指腸癌學(xué)習(xí)課件
- 電動(dòng)自行車騎行安全與維護(hù)
- 2024年國(guó)家電投招聘筆試參考題庫(kù)含答案解析
- 切爾諾貝利核電站事故工程倫理分析
- JCT2166-2013 夾層玻璃用聚乙烯醇縮丁醛(PVB)膠片
- 新版出口報(bào)關(guān)單模板
- 圓型檢查井自動(dòng)計(jì)算表
評(píng)論
0/150
提交評(píng)論