首页 Android编程入门教程

Android编程入门教程

举报
开通vip

Android编程入门教程InstallAndroid   安裝 Android 開發工具 Android 提供免費而且跨平台的整合開發環境,只要電腦能連接上網路,我們隨時都能下載相關工具下來,並開始開發 Android 應用程式。 有了輕鬆易用的開發工具,我們可以把心力專注於如何將想法實現到應用程式上。 系統需求 撰寫 Android 的應用程式,需要一套個人電腦系統。至於作業系統的部份,幾個主流作業系統都有支援。 支援的作業系統如下: · Windows XP 或 Vista · Mac OS X 10.4.8 或之後版本...

Android编程入门教程
InstallAndroid   安裝 Android 開發工具 Android 提供免費而且跨平台的整合開發環境,只要電腦能連接上網路,我們隨時都能下載相關工具下來,並開始開發 Android 應用程式。 有了輕鬆易用的開發工具,我們可以把心力專注於如何將想法實現到應用程式上。 系統需求 撰寫 Android 的應用程式,需要一套個人電腦系統。至於作業系統的部份,幾個主流作業系統都有支援。 支援的作業系統如下: · Windows XP 或 Vista · Mac OS X 10.4.8 或之後版本 (適用 x86 架構的 Intel Mac) · Linux (官方於 Ubuntu 6.10 Dapper Drake 上測試) 我們需要安裝一些 Android 開發環境所需的程式工具,這些工具都是可以免費上網取得的: · JDK 5 或 JDK 6 你需要安裝 Java 開發工具 (JDK 5 或 JDK 6)。 只安裝 Java 運行環境(JRE) 是不夠的,你需要安裝 Java 開發環境 (JDK)。 你可以在命令行上輸入 「java -version」 來查看目前系統上已安裝的 java 版本(java 版本需 >1.5)。 要注意的是 Android 與 Java Gnu 編譯器 (gcj) 還不相容。 · Eclipse IDE,一個多用途的開發工具平台。 你可以下載安裝 Eclipse 3.5 (代號 Galileo) 、 3.4 (代號 Ganymede) 或 Eclipse 3.3 (代號 Europa) 版。 請注意你選擇的版本需包含 Eclipse Java 開發工具擴充套件(Java Development Tool Plugin, JDT)。 大多數 Eclipse IDE 包中都已含有 JDT 擴充套件。若對 Eclipse 平台不熟悉的話,建議直接選擇 「for Java Developers」版本來下載。 · ADT,基於 Eclipse 的 Android 開發工具擴充套件 (Android Development Tools plugin)。 · Android SDK,Android 程式開發套件,包含 Android 手機模擬器(Emulator)。 · 其他開發環境工具(非必要安裝) o Linux 和 Mac 環境上需要自動編譯的話可以自行安裝 Apache Ant 1.6.5 或之後版本,Windows 環境上則需要 Apache Ant 1.7 或之後版本。 o NetBeans、IDEA 等開發平台亦有推出自己的 Android 開發工具,但本書中還是以討論官方基於 Eclipse 平台的開發工具為準,其他平台不予涉及。 安裝 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 假設讀者已先安裝了 JDK 5 或 JDK 6。 那麼 Android 的安裝流程可以分為以下五個步驟 1. 下載 Eclipse 2. 安裝 Eclipse 3. 安裝 ADT 擴充套件 4. 下載 Android SDK 5. 設定 Android SDK 詳細的安裝流程如下: 1. 下載 Eclipse 首先我們需要下載 Android 開發時會用到的整合開發環境 Eclipse。 目前 Android 應用程式只支援使用「Java」程式語言來編寫 Android 應用程式。所以開發前必須先安裝 Java 開發套件(Java Development Kit, JDK)。 各平台的 JDK 可至 http://java.sun.com 下載。 Mac OS X 作業系統則已內建 JDK。 安裝好 JDK 後,我們可以前往 Eclipse 網站下載 Eclipse 這個方便的整合開發環境。 下載 Eclipse 時請選「Eclipse IDE for Java Developers」或「Eclipse IDE for Java EE Developers」這兩種版本,只有這兩種版本才會預裝 Eclipse JDT 擴充套件。 範例中所選擇的是「Eclipse IDE for Java Developers」版本。 下載完同樣先解壓縮到適當目錄下。 2. 安裝 Eclipse Eclipse 不需要安裝,只要確認你的系統上有安裝 Java,即可直接開啟 Eclipse 資料夾,點擊 Eclipse 開始執行 Eclipse 整合開發環境。 第一次啟動 Eclipse 時會彈出視窗讓你決定預設的工作目錄。一般使用 Eclipse 預設的工作目錄即可。 進入到 Eclipse IDE 後,不必急著四處觀望。我們先來安裝 Android 開發工具擴充套件。 3. 安裝 ADT 擴充套件 我們將在 Eclipse 上 安裝 Android 開發工具 (ADT)。 Eclipse 3.5 版 找到螢幕上方的選單列, 選擇 「Help->Install New Softare」 選項,這選項會帶出一個新視窗。 選擇「Available Software」標籤,選擇右方的 「Add...」 (新增網站)按鈕,會彈出一個輸入框。 在輸入框中的"Location"欄位中輸入擴充套件的名稱(Name) 「ADT」 跟網址(URL) 「http://dl-ssl.google.com/android/eclipse/site.xml 」,按下 "OK" 按鈕離開。Eclipse 會花一點時間尋找合適的版本。 在視窗中全選「 https://dl-ssl.google.com/android/eclipse/site.xml 」項目「Developer Tools」中的的選項後,按下右方的「Install」按鈕。 按下 「Next」 (下一步)鍵。照著步驟就安裝完成。安裝完會提示需重新啟動 Eclipse,按下 「Yes」 重新啟動。 Eclipse 3.4 版 找到螢幕上方的選單列, 選擇 「Help->Software Updates」 選項,這選項會帶出一個新視窗。 選擇「Available Software」標籤,選擇右方的 「Add Site...」 (新增網站)按鈕,會彈出一個輸入框。 在輸入框中的"Location"欄位中輸入網址(URL) 「http://dl-ssl.google.com/android/eclipse/site.xml 」, 按下 "OK" 按鈕離開。Eclipse 會花一點時間尋找合適的版本。 在視窗中全選「 https://dl-ssl.google.com/android/eclipse/site.xml 」項目「Developer Tools」中的的選項後,按下右方的「Install」按鈕。 按下 「Next」 (下一步)鍵。照著步驟就安裝完成。安裝完會提示需重新啟動 Eclipse,按下 「Yes」 重新啟動。 Eclipse 3.3 版 找到螢幕上方的選單列, 選擇 「Help->Software Updates->Find and Install」 選項,這選項會帶出一個新視窗。 選擇 「Search for new features to install」 (搜尋新功能供安裝)選項,按下 「Next」 (下一步)鍵。出現設定畫面。 選擇右上角的 「New Remote Site」 (新增遠端網站)按鈕,會彈出一個 「New Update Site」 (新增更新網站)輸入框。 在輸入框中輸入擴充套件的名稱(Name) 「ADT」 跟網址(URL) 「http://dl-ssl.google.com/android/eclipse/site.xml 」,按下 「OK」 按鈕離開。 按下 「Finish」 按紐繼續下一步。Eclipse 會花一點時間尋找合適的版本。 接著我們要做的,就是等 Eclipse 顯示出選項時,勾選合適的版本安裝。 安裝完會提示需重新啟動 Eclipse,按下 「OK」 重新啟動。 離線安裝 已經安裝成功的讀者可以跳過這段。有些讀者因為網路環境的關係,無法順利地直接線上安裝 Android 開發工具。這時我們可以先前往http://developer.android.com/sdk/adt_download.html ,手動下載最新的開發工具版本來離線安裝。 下載完最新的ADT 擴充套件後,打開 Eclipse 開發環境,找到螢幕上方的選單列, 選擇 「Help->Software Updates」 選項,這選項會帶出一個新視窗。選擇「Available Software」標籤,選擇右方的 「Add Site...」 (新增網站)按鈕,會彈出一個輸入框。 選擇右上角的「Local...」按鈕,並選取剛下載的 Android 最新開發工具檔案,選到之後按下 "OK" 按鈕離開。 在視窗中全選新出現項目的所有選項後,按下右方的「Install」按鈕。Eclipse 會花一點時間開始安裝 ADT 擴充套件。 4. 下載 Android SDK 接著我們要從 http://developer.android.com/ Android 官方網站下載 「Android 軟體開發套件」 (Software Development Kit, SDK)。 下載下來的 SDK 檔案需要先解壓縮。Windows 平台需要先另行安裝解壓縮程式,如免費的 7-zip 解壓縮工具。 解壓縮後會出現一個資料夾。為了之後描述方便,我們將解壓縮後的 Android SDK 檔案夾命名為「android_sdk」。 5. 設定 Android SDK 打開偏好設定頁面(Preference),選擇 Android 標籤(請確認您已安裝好 ADT 擴充套件,Android 標籤才會出現在偏好設定頁面中),在 SDK Location 欄位按下 " Browse..."鍵,選擇剛剛解壓縮完的「android_sdk」檔案夾所在地,然後按下視窗右下角的套用(Apply) 按鈕。 這樣一來,Android SDK 就算是設定好啦。 註解:若您安裝過 SDK 1.5 版之前的版本,請先移除後再重新安裝一次 ADT 擴充套件,才能順利設定新版的 Android SDK。 方法是在螢幕上方的選單列,選擇「Help > Software Updates」選項,在彈出的視窗上方點選「Installed Software」頁籤,選擇「Android」開頭的選項,點選右側的「Uninstall..」按鈕移除這些相關的插件。 下一步 設定好 Android SDK 後,我們就擁有了一個完整的 Android 開發環境。 我們先來看看 Android SDK 中提供的一些範例,好了解 Android 到底能做些什麼。 ManageSDK   管理 SDK 管理 SDK 下載 SDK 組件 在選單上選擇「Window > Android SDK and AVD Manager」選項,開啟 Android SDK/AVD 管理工具。 在開啟的管理工具視窗中,切換到「Installed Packages」標籤頁,「Installed Packages」列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中預設只裝了「Android SDK Tools」,不包含目標 SDK。我們需要先自行安裝對應的 SDK 組件。 切換到「Available Packages」 標籤頁,開始裝目標 SDK。點選預設的網址,可以看到目前可用的目標 SDK、文件、Add-On,要完成本書中範例,只要勾選對應版本的目標 SDK、文件、Add-On,然後按下「Install Selected」按鈕即可。 在下一個視窗中可確認剛勾選預備要安裝的 SDK 組件。勾選「Accept All」選項後,按下「Install Accepted」按鈕即開始自動下載並安裝。 在安裝完成後,切換到「Installed Packages」標籤頁,可以看到剛剛勾選的 SDK 組件都已經安裝到開發環境中。 刪除 SDK 組件 經過幾次 Android 版本升級後,我們的列表中可能會包含許多舊版本的 SDK。這時可以透過選取列表中的組件,點選下方的「Delete...」按鈕來刪除這些過時的組件。我們隨時還可以回到管理工具的「Available Packages」標籤頁,把組件下載回來。 安裝好 SDK 組件後,我們就可以開始來熟悉開發環境了。 OpenProject   開啟現有專案 開啟專案 我們回到 Eclipse 環境來。在螢幕上方的選單列上,選擇「File->New->Project」,會彈出「New Project」對話視窗。 Eclipse 是通用的編輯環境,可根據你所安裝的不同擴充套件而支援許多種類的專案。 點擊 「Android」 資料夾下的「Android Project」,會開啟「New Android Project」對話視窗。 我們將開啟「SDK 組件」中提供的 ApiDemos 範例。在「New Android Project」對話視窗中,點選 "Browse..."按鈕以選擇「開啟已經存在的專案」(Create project from existing source)。我們在此選擇位於「android_sdk/platforms/android-2.0/samples」目錄中的 Android 應用程式專案 (android_sdk/platforms/android-2.0/samples/ApiDemos)。 當我們選擇了現存的範例程式專案時,「New Android Project」對話視窗中的諸如專案名稱(Project Name)與屬性等內容都將被自動填寫好。這時我們可以按下 「Finish」按鈕,完成從現存專案新增專案到 Eclipse 環境的動作。 匯入專案 如果你的程式專案已位於工作環境(WorkSpace)資料夾下,想使用上述方法開啟專案時,會得到欲開啟的資料夾已在工作目錄下的警告。因此我們得用另一個方法:匯入專案。 在螢幕上方的選單列上,選擇「File->Import」選項,會跳出「Import」視窗。選擇「General->Existing Projects into WorkSpace」項目,然後按下「Next」按鈕帶到新一個畫面。在「Select Root Directory」欄位旁,按下右方的「Browse...」按鈕,選擇對應的專案。選擇好後,按下「Finish」按鈕完成從現存在工作環境(WorkSpace)資料夾下的專案匯入到 Eclipse 環境的動作。 不同 SDK 版本的範例專案會放在「android_sdk/platforms/android-版本/samples」目錄中,請自行根據要開發的版本來選擇範例。 修復專案 完成新增程式專案到 Eclipse 後,我們可以在左側的「Package Explorer」中找到我們新增的專案。 如果發現開啟後的資料夾圖示上有個小小的黃色驚嘆號,表示這個專案匯入後還有些問題,我們可以使用ADT內建的功能來試著修復專案屬性。 在「Package Explorer」的 「ApiDemos」 專案檔案夾圖示上點選右鍵,從「Android Tools」選單中選擇「修復專案屬性」(Fix Project Properties)。 (Android Tools->Fix Project Properties) 如果發現開啟後的資料夾圖示上有個小小的紅色叉號,表示這個專案開啟/匯入後遇到了無法編譯的問題。最常見的也是與無法正常生成「gen」目錄相關的問題。一般簡單的解決方式是打開專案中任一 XML 檔案(如AndroidManifest.xml 或是「res」目錄下附檔名為 .xml 的檔案),改變一下內容(如在檔案中多按一個空格)後存檔,這時開發工具會自動編譯生成「gen」目錄中新的內容。這樣無法編譯的問題往往就解決了。如何修改 XML 檔案在後面章節中會提到。 切換 SDK 版本 Android 在 SDK 1.5 版之後引入了支援多個版本 SDK 與模擬器的新特性,讓我們得以透過修改屬性設定畫面的設定,來切換用來編譯與運行這些專案的目標 SDK 版本。 在「Navigator」的「ApiDemos」專案檔案夾圖示上點選右鍵,選擇「properties」選項,會開啟專案屬性設定畫面。 在設定畫面中先選擇左方的 Android 標籤,選擇後會出現可勾選的「Project Build Target」選單。 在選單中選擇適當的目標版本,選擇好之後按下 OK 結束設定畫面,這時專案就已經切換成可使用目標版本編譯的狀態了。 PlayEmulator   操作 Android 虛擬機器 使用 Android 虛擬機器 我們已經透過「Eclipse」開發環境,開啟了「ApiDemos」專案。本章將講解如何設定和操作 Android 虛擬機器。 設定 Android 虛擬機器 現在我們還不忙著開始寫程式,先花點時間,來看看怎麼在開發環境中,透過「Android 虛擬機器」來執行應用程式吧。 由於在剛開始開發時,我們手邊並不一定已擁有 Android 設備。因此 Android 開發工具亦提供了相當強大的模擬器,能讓我們自由配置,模擬各種硬體規格的設備。在 Android 中一律把 Android 模擬器稱作「Android 虛擬機器」(Android Virtual Device),簡寫為「AVD」。 「Android 軟體開發套件」(SDK) 1.5 以上的版本提供了支援不同目標版本虛擬機器的功能,在使用虛擬機器之前,必須先建立一個虛擬機器後才可在 Eclipse 開發環境中使用。 SDK 中提供了一個「android」命令行工具(在 android-sdk/tools 中),可以用來建立新專案或是管理虛擬機器。在此我們使用「android」命令行工具來新建立一個虛擬機器。 列出虛擬機器類型 首先,把「android-sdk/tools 」目錄加入系統路徑,我們以後就可以在任何地方使用「android-sdk/tools 」目錄下的各種命令。 在 Windows 2000、XP、2003、Windows 7 這些作業系統裡,點選「控制台 > 系統 > 進階 > 環境變數」。在「系統變數(S)」欄中,選取「PATH」變數名稱後,再點選「編輯(I)」按鈕。 再此假設您安裝 Android SDK 的路徑是「C:\android-sdk\tools」,接著在彈出的視窗中將「;C:\android-sdk\tools」(注意要以分號隔開)這字串添在原本的字串之後,按下確定後重新啟動作業系統。 重開系統後選擇「開始 > 執行」,在彈出的輸入框中輸入「cmd」,即可開啟命令行工具並繼續以下的動作。 或是您也可以直接打開命令行,進入「android-sdk/tools 」目錄,輸入以下命令: $ android list targets 在沒有將 Android SDK 加入路徑的情況下,在 Linux 或 Mac 環境中要輸入 $ ./android list targets 螢幕上會列出所有支援的虛擬機器類型 $ android list targets Available Android targets: id: 1      Name: Android 1.1      Type: Platform      API level: 2      Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P id: 2      Name: Android 1.5      Type: Platform      API level: 3      Skins: HVGA (default), HVGA-L, HVGA-P, QVGA-L, QVGA-P id: 3      Name: Google APIs      Type: Add-On      Vendor: Google Inc.      Description: Android + Google APIs      Based on Android 1.5 (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 在這邊列出了三種虛擬機器類型。分別是編號(id)為 1、2 的 Android 1.1、1.5 虛擬機器,與編號(id)為 3 的「Google APIs」,Google 把自己提供的應用程式(如 Google Map)放在「Google APIs」這個虛擬機器類型中,因此要開發 Google Map 等 Google 專屬應用程式時,就必須先建立編號 3 這類型的虛擬機器,稍後才能在適當的虛擬機器上作驗證。 建立虛擬機器 我們現在來建立一個基本的 Android SDK 2.0 虛擬機器。 在命令行中輸入以下命令: $ android create avd --target 1 --name eclair 這段命令的意思是:使用「android create avd」命令來建立一個新的虛擬機器,「 --target 1」參數的意思是這個虛擬機器使用 id 為 1 的 SDK 套件(Android 1.5),「--name eclair」參數的意思是將這個建立的虛擬機器命名為「eclair」。 產生的結果如下 $ android create avd --target 1 --name eclair Android 2.0 is a basic Android platform. Do you wish to create a custom hardware profile [no] Created AVD 'cupcake' based on Android 2.0 列出已建立的虛擬機器 我們可以使用 「Android」命令行工具提供的「list avd」命令,來列出所有我們已經建立的模擬器。 在命令行中輸入以下命令: $ android list avd 產生的結果如下: $ android list avd Available Android Virtual Devices:     Name: eclair     Path: /Users/mac/.android/avd/cupcake.avd     Target: Android 2.0 (API level 5)     Skin: HVGA 使用「 android list avd」命令看到有輸出,即表示已成功建立虛擬機器,可以回到 Eclipse 環境來,設定執行應用程式專案所需的環境參數了。 設定環境參數 要執行 ApiDemos 程式前,我們得在開發環境中,事先設定好一些用來執行 ApiDemos 程式的環境參數。 以後使用其他程式專案時,我們也能用同樣的方式,讓這些程式在我們的開發環境中運行。 首先,我們透過選單列上的「Run」(執行)選單,選擇「開啟執行參數設定」(Run-> Debug Configurations...) 進入運行環境參數設定畫面。 進入設定畫面後,在視窗左側會有一整排 Eclipse 支援的運行設定,我們從中找到 "Android Application"(Android 應用程式)項目,按下滑鼠右鍵,點選 "New"(新增)選項。 選擇 「New」 選項後,在「Android Application」項目下方會多出一筆執行項目。 我們可以在 Name 欄位上輸入一個代表這個環境參數的名稱,在此我們輸入與專案名稱相同的「ApiDemos」。 在「Project」欄位右方,點選「Browse...」按鈕,開啟「專案選擇」(Project Selection)視窗,選擇「ApiDemos」專案並點選「OK」按鈕,以選擇要執行的專案。 在 「Launch Action」 選單中,確認預設選擇的是「Launch Default Activity」。 至此我們就完成了模擬器環境參數的設定。 點選右下角的「Debug」按鈕,Eclipse 就會啟動 Android 虛擬機器。 小技巧: 在選單列中,也可以選擇設定「Run Configuration...」選項。這時我們得到的是一個幾乎完全相同的環境參數設定畫面,只是右下角的「Debug」按鈕變成了「Run」按鈕。「Debug」與「Run」模式的環境參數設定可以共用,差別在於「Debug」模式下可以使用在之後章節中會介紹的 logd,來顯示一些開發時所需的額外訊息。 再次啟動 Android 虛擬機器 當我們設定好之後,以後碰到要再次啟動虛擬機器的情況時,只要在螢幕左上角的「Debug」或「Run」圖示右側小箭頭上按一下,從彈出的選單中選擇剛剛設定的環境參數名稱,虛擬機器即開始執行,並安裝好我們所指定的專案應用程式。 操作虛擬機器 改變虛擬機器外觀 在建立虛擬機器的時候,我們可以透過「skin」欄位來選擇預設的虛擬機器外觀。「skin」欄位中會列出目標(Target)版本支援的所有外觀。「HVGA」(解析度 480x320)、「QVGA」(解析度 320x240)等分別代表著各種不同畫面的解析度 在命令列上執行「android list targets」命令後,我們可以看到螢幕上列出所有支援的模擬器類型。舉我們剛才建立過的(id 1)虛擬機器為例,列出訊息如下: id: 1      Name: Android 2.0      Type: Platform      API level: 5      Skins: HVGA (default), QVGA, WQVGA400, WQVGA432, WVGA800, WVGA854 其中 Skins 欄位中會列出所有支援的模擬器佈景,預設有多種畫面配置選項可選擇。 要建立「QVGA」模式的模擬器,則在前一節「android create avd」命令後,附加上「--skin QVGA」選項即可。要將預設的「HVGA 直式」顯示改為橫式,則可以透過使用快速鍵,直接切換螢幕來達成。 切換螢幕方向 在 Windows 作業系統上按下 「Ctrl」和「F12」鍵 ,或是在 Mac OS X 作業系統上同時按下「fn」 和「7」鍵,螢幕就會從預設的直式顯示改成橫式顯示,再按一次則切換回原來的直式顯示。 移除程式 我們已經順利地啟動了虛擬機器,那麼,該怎麼移除安裝到虛擬機器上的程式哩? Android SDK 中提供一個 adb (Android Debugger) 命令行工具 (在 android-sdk/tools 中),我們可以用裡面的 shell 工具連上虛擬機器來移除應用程式。在某些平台上,這些動作可能需要擁有 root 權限才能執行。 首先打開命令列,啟動 adb shell     $ adb shell 接著切換到 data/app 目錄中     $ cd data/app/ 使用 ls 命令(等同 windows 上命令行的 dir 命令)來檢視檔案列表     # ls     com.example.android.apis.apk 接著使用 rm 命令來刪除 ApiDemos 應用程式     # rm com.example.android.apis.apk     # ls 移除虛擬機器 我們可以使用「android list avd」命令來列出所有的虛擬機器 $ android list avd Available Android Virtual Devices:     Name: eclair     Path: /Users/mac/.android/avd/cupcake.avd   Target: Android 2.0 (API level 5)     Skin: HVGA 表示現在系統中有一個名為 eclair 的虛擬機器。 我們可以使用「android delete avd --name eclair」命令來刪除名稱為「eclair」的虛擬機器。 $ android delete avd --name eclair AVD 'eclair' deleted. 刪除後再次執行「android list avd」命令,得到的結果為 $ android list avd Available Android Virtual Devices: 表示系統中已經不存在任何模擬器,我們真的已經將虛擬機器刪除了。 ReadSource   建立一個 Android 程式 在前幾章我們已經學到怎麼開啟現有的專案,也導覽過了整個模擬器的設定流程。 現在我們從設計一個簡單實用的身高體重指數計算(BMI)應用程式開始,學習設計一個 Android 應用程式所需的基礎。 維基百科上這麼介紹 BMI 身高體重指數: 身高體重指數(又稱身體質量指數,英文為Body Mass Index,簡稱BMI)是一個計算值。 ...當我們需要比較及 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 一個人的體重對於不同高度的人所帶來的健康影響時, BMI值是一個中立而可靠的指標。 簡而言之,我們要設計的程式就是允許輸入身高體重,按下「計算 BMI」鍵後就在螢幕上顯示 BMI 值,並彈出「你應該節食囉」、或「你應該多吃點」...等健康建議。健康建議的判斷: 只要 BMI 值超過 「25」 時就算偏胖、BMI 值低於 「20」 就算偏瘦。 判斷寫得很簡單。畢竟我們要學習的關鍵知識,不是在於 BMI 值的算法或健康建議的內容,而是在於 Android 程式的運作方式。 參考資源 http://zh.wikipedia.org/wiki/身高體重指數 我們這就先從建立一個新的程式專案開始吧。 建立新程式專案 首先,我們照前面章節的教學,建立一個新的程式專案。並將新專案名稱命名為 BMI。 在「內容」欄裡,我們選擇「在工作區域中建立新專案」(Create new project in workspace)。 這時,如果在"選擇欄"取消掉勾選「使用預設目錄」(Use default location) 選項,我們就可以切換儲存專案的資料夾。 大部分的時候我們並不需去改動這個選項,而是直接使用預設的資料夾。 前面章節中都是開啟現有的專案,因此那些專案屬性 (Properties) 等內容都被自動填寫好了。這章中要從無到有新建一個專案,因此我們必須自行填寫專案相關的屬性。 在此對"New Android Project" 對話框中出現的這些欄位作些簡單的說明: 名稱 描述 Project Name 包含這個項目的資料夾的名稱 Application Name 顯示在應用程式上的標題 Package Name 套件(Package)名稱,JAVA 的習慣是用套件名稱來區分不同的類別(class)。依照專案的不同,我們會起不同的路徑名稱。 Create Activity 使否建立這個是項目的主要類別,勾選後可以指定這個類別的名稱。這個類別是一個 Activity 類別的子類別。我們可以在「Activity」中啟動程式和控制程式流程,或是根據需要控制螢幕、界面。 Build Target 選擇用來編譯專案的 SDK 版本。 當選定了 Build Target 後,開發工具會在 Min SDK Version 欄位中自動填入對應的值 Min SDK Version 本應用程式所支援的最低 SDK 版本代號。 我們在欄位中分別填入以下的值: 名稱 值 Project Name BMI Application Name BMI Package Name com.demo.android.bmi Create Activity Bmi Min SDK Version 5(自動填入) 填好值後按下「Finish」 按鈕,就建立好新專案了。 注意 Package Name 的設定,必須至少由兩個部分所構成,例如:com.android。「Activity Name」是指定用來產生預設 java 程式碼的文件名稱,與文件中預設 Activity 類別 (class) 的名稱。依照 java 語言的命名習慣,「Activity Name」最好採用開頭大寫的形式。 回到 Eclipse 主畫面,我們注意到在左側 Package Explorer 視窗中已順利新增加了一個 BMI 目錄。 程式專案架構 乍看之下,Android 插件已幫我們建立了不少檔案。 檢視新建立的 BMI 檔案夾中的內容,我們可以將一個 Android 應用程式基本的檔案結構歸納成如下: 我們來看看 Android 應用程式的基本檔案結構,以及各自所負責的內容。 src/ 原始碼(source)目錄 src 目錄中包含了一個 Android 應用程式中所需的各個程式碼檔案。這些檔案被包在對應 package 的子目錄下。(如本章的 BMI 例子中,子目錄指的就是 /src/com/demo/android/bmi/) src 目錄中比較關鍵的程式有: 1. Bmi.java 這個檔案的檔名會隨著你在建立一個新的程式專案畫面中所填入「Create Activity」欄位值的不同而改變。這是新程式專案中的主要程式區塊。我們開發 Android 程式的多數時間,都是在 src 目錄下和 Android 打交道。 gen/ 自動生成(Generate)目錄 gen 目錄中存放所有自動生成的檔案。 gen 目錄中最關鍵的程式就是 R.java 檔。 1. R.java 這個檔是自動產生的。會由 ADT 插件自動根據你放入 res 目錄的 XML 描述文件、圖像等資源,同步更新修改 'R.java' 這個中介檔案。所有的 Android 程式中都會有以 R.java 為名的這個檔案,你完全不需要,也應避免手工修改 R.java 這個檔案。 R.java 中自動產生的 「R」 類別就像是個字典一樣,包含了使用者介面、圖像、字串等各式的資源與相應的編號(id)。Android 應用程式中很多時候會需要透過 R 類別調用資源。 編譯時編譯器也會查看這個資源列表,沒有使用到的資源就不會編譯進去,為手機應用程式節省不必要佔用的空間。 res/ 資源(Resource)目錄 「res」 目錄中存放所有程式中用到的資源檔案。"資源檔案"指的是資料檔案,或編譯時會被轉換成程式一部分的 XML 描述檔。Android 針對放在 「res」 目錄下的不同子目錄的資源,會有各自不同處理方式。因此我們寫程式時,最好能搞清楚各目錄下分別可放置的內容。 res/ 中的程式: 3. layout/ 版面配置(layout)目錄 「layout」目錄包含所有使用 XML 格式的介面描述檔。「layout」 中的 XML 介面描述檔就像寫網頁時用到的 HTML 檔案一樣,用來描述螢幕上的版面編排與使用的介面元件。XML 介面描述檔描述的內容可以是整張螢幕,也可以只描述一部分的介面(例如描述用來產生對話框的介面元件)。 雖然你也能直接通過 Java 來建立使用者介面,不過透過 XML 描述檔來建立使用者介面相對更簡單,架構也更清晰,以後維護時更容易釐清問題。要使用這些介面元件,應透過 「R.java」 檔中自動產生的 「R」 類別來調用。 4. values/ 參數值(value)目錄 「values」 目錄包含所有使用 XML 格式的參數值描述檔,可以在此添加一些額外的資源如字串(很常用)、顏色、風格等。使用時也是透過 「R」 類別來調用。 Android 功能清單 5. AndroidManifest.xml 「AndroidManifest.xml」 是 Android 程式的功能清單,應用程式在這裡列出該程式所提供的功能。當應用程式開啟時,會提供諸如內容提供者(ContentProvider)、處理的資料類型、實際運行的類別、跨應用程式的資訊等等訊息。 你可以在此指定你的應用程式會使用到的服務(諸如電話功能、網路功能、GPS功能等)。 當你新增一個頁面行為類別 (Activity) 時,你也需要先在此註冊這個新增的 Activity 類別後,才能順利調用。 AndroidUI   描述使用者介面 將一份創意落實到可執行的應用程式,背後需要的是從閱讀與寫作程式碼中累積的經驗,並有堅持理念、直到完成的耐心。 表達使用者介面 我們可以先用前幾章教的方法設定並執行模擬器,看看模擬器運作後的結果。 我們看到一個文字欄位,上面有一串文字 「Hello World, Bmi!」。這就是 Android 預設程式架構的範例囉。 由於才剛開始實際接觸到 Android 應用程式,我們先從簡單的開始:這一節中,我們的目標是將 「Hello World, Bmi!」 換成別的文字。 那麼,「Hello World, Bmi!」,這串字串藏在哪裡呢? 先打開 「res/layout/main.xml」     1       2       7           12 原來「Hello World, Bmi!」字串就藏在「res/layout/main.xml」這個檔案的第 10 行中。我們只要簡單地將第 10 行修改成如下 android:text="Hello World, Bmi!” 再執行一次模擬器,就可以得到一個相似的應用程式,只是內文變成了我們剛剛修改的內容。 既然找到了「Hello World, Bmi!」字串,我們就試著將「android:text」屬性值從「Hello World, Bmi!」改成「哈囉,BMI」,然後執行看看吧。 android:text="哈囉,BMI" 結果發現 Android 模擬器中文嘛也通,字型也相當漂亮。 要開始學習 Android 應用程式確實很簡單吧?不過為了顯示「Hello World, Bmi」,也用到了許多程式碼。到底這些程式碼有什麼含意呢? 我們馬上來學習 「main.xml」這個 XML 介面描述檔的內涵吧。 Android 平台裡,使用者介面都是透過 ViewGroup 或 View 類別來顯示。ViewGroup 和 View 是 Android 平台上最基本的使用者介面表達單元。我們可以透過程式直接呼叫的方法,調用描繪使用者介面,將螢幕上顯示的介面元素,與構成應用程式主體的程式邏輯,混合在一起編寫。或是,也可以將介面顯示與程式邏輯分離,照著 Android 提供的這個較優雅的方式,使用 XML 描述檔,來描述介面元件的組織。 講解 我們看到的「Hello World, Bmi」就包含在「main.xml」 這個檔案中。 接著,我們就直接分部份來講解這個「main.xml」 檔案裡的內容: 第 1 行     XML (Extensible Markup Language) 是一種標記描述語言,不管是語法還是看起來的樣子,都相當類似網頁所使用的 HTML 標記語言。XML 被廣泛地運用在 Java 程式的設定中。「main.xml」 文件裡,第一行是每個 XML 描述檔固定的開頭內容,用來指示這個文字檔案是以 XML格式描述的。 第 2, 6 與 12 行     接著我們看到第一個標籤,與 HTML 網頁標籤相當類似。     "線性版面配置"(LinearLayout)標籤,使用了兩個「LinearLayout」標籤,來表示一個介面元件的區塊。後頭的標籤前加上一個「/」符號來表示結束標籤。"線性版面配置" 所指的是包含在 「LinearLayout」 標籤中,所有元件的配置方式,是將一個接一個元件由上而下排隊排下來的意思。      xmlns:android="http://schemas.android.com/apk/res/android" xmlns 開頭的這串敘述,是用來宣告這個 XML 描述檔案的的名稱空間(NameSpace),後面接的URL(網址),表示這個描述檔案會參照到 Android 名稱空間提供的定義。 所有 Android 版面配置檔案的最外層標籤中,都必須包含這個屬性。 注意標籤需要兩兩對稱。一個標籤「 」在一串敘述的前頭,另一個標籤「 」在敘述的末尾。 如果你修改過的標籤沒有閉合(忘了加 <、/、> 等符號),Eclipse 畫面上也會出現小小的警示符號來提醒你。 第 3-5 行     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent" 這些包含在「 」標籤中的敘述被稱為「LinearLayout」標籤的「屬性」。Android 應用程式在 layout 目錄中的標籤,大多數的屬性前都有一個「android:」前綴。同一個介面元件的屬性之間,是以空白做區隔,因此事實上你也能將多個屬性寫在同一行。當然,將屬性排成多行更易於閱讀。我們應該保持這個好習慣。 介面元件都有許多共同的屬性,例如介面元件的長,寬度設定屬性。Android 介面元件的寬度、長度設定屬性分別叫做「android:layout_width」、「android:layout_height」。兩個都設定為 「fill_parent」參數值。「fill_parent」 如其名,所表達的的意思就是"填滿整個上層元件"。預設 LinearLayout 介面元件就會佔滿整個螢幕空間。 介面元件彼此間也會有一些不同的屬性,例如 「LinearLayout」(線性版面配置) 標籤的「android:orientation」(版面走向) 屬性。在此填入 「vertical」 (垂直)屬性值,表示這個介面的版面配置方式是從上而下垂直地排列其內含的介面元件。 「android.view.ViewGroup」 是各種佈局配置(layout)和視圖(View)元件的基礎類別。常見的實現有 LinearLayout(線性版面配置)、FrameLayout(框架版面配置)、TableLayout(表格版面配置)、AbsoluteLayout(絕對位置版面配置)、RelativeLayout(相對位置版面配置)等。 雖然有這麼多種版面配置方式可以選用,但大多數的應用程式並不需特地去改變預設的 LinearLayout 的配置,只要專注在其中填入需要的介面元件即可。所以從第 7 行之後的內容才是一般應用程式開發時較常修改之處。 第 7 和 11 行     TextView (文字檢視)是我們看到的第一個熟悉的介面元件。其作用是顯示文字到螢幕上。你可能注意到這個標籤結尾使用了 「/>」 符號。 「/>」符號表示這個XML敘述中沒有內文,亦即此介面元件描述中不再包含其他介面元件,也表示這個介面元件就是這個螢幕中最小的組成單元了。 第 8-10 行     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="Hello World, bmi" 我們來看看 TextView 介面元件中包含了哪些屬性。 「android: layout_width」和「android:layout_height」我們剛剛已經學過了,分別代表寬度跟長度。「android: layout_width」 的 「fill_parent」 參數值表示寬度填滿整個上層介面元件(即 LinearLayout 介面元件)。「android:layout_height」則是用上一個新的參數值「wrap_content」(包住內容),亦即隨著文字欄位行數的不同而改變這個介面元件的高度。最後的 「android:text」 屬性則是 TextView 介面元件的主要屬性,亦即文字欄位中顯示的文字內容。至於「@string/hello 」這段字串所代表的意義,馬上會接著在後面章節說明。我們現在已知道是:只要將「android:text」屬性內容替換成我們想要文字,在預覽畫面或在模擬器中就會顯示對應的文字。 將以上的 XML 描述綜合起來,我們就可以得知「main.xml」 想表達的介面。 BmiUI   設計使用者介面 視圖(View) 軟體設計的過程中,常常會遇到需要頻繁修改使用者介面的情境。改著改著程式設計師們就累積起了一些經驗,也歸納出了許多應對之道。如著名的 MVC(Model-View-Controller) 模式。Google Android 為我們考慮了介面修改問題。Android 為了單純化介面修改方式,採用了目前比較流行的解決 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 --即將介面描述部份的程式碼,抽取到程式外部的 XML 描述文件中。 我們在前面的過程裡已經學到,如何在 Android 應用程式中替換 TextView 介面元件所顯示的純文字內容。那麼...這個經驗能不能直接用到 BMI 應用程式的設計上呢? 我們先回過頭來想想, BMI 應用程式最少應該需要什麼些什麼元件。 為了輸入 BMI 程式所需的身高體重值,大致上我們需要兩個 TextView 元件用來提示填入身高體重數字,另外也需要兩個文字輸入欄位用來填入身高體重數字。我們還需要一個按鈕來開始計算,而計算完也需要一個 TextView 元件來顯示計算結果。於是初版的 BMI 應用程式介面的樣子就浮現出來了。 查閱文件 話說回來,我們從哪得知各種可用的介面元件呢?其中一個方法是查閱文件。 Android 文件網站上找到各種可用介面元件列表。 http://developer.android.com/guide/tutorials/views/index.html 例如我們想查看 EditText 的內容,我們可以點進 EditText 連結查看其內容。 http://developer.android.com/reference/android/widget/EditText.html 你會看到一個詳細地驚人的網頁。 這邊舉其中常用到的 EditText 介面元件為例。EditText 介面元件的作用就是提供一個文字輸入欄位。EditText 繼承自另一個叫 TextView 的介面元件,TextView 介面元件的作用是提供文字顯示,所以 EditText 介面元件也擁有所有 TextView 介面元件的特性。 此外,文件中你也可以查找到 EditText 欄位的一些特殊屬性,如 「android:numeric="integer"」(僅允許輸入整數數字)、「android:phoneNumber="true"」(僅允許輸入電話號碼),或「android:autoLink="all"」(自動將文字轉成超連結)。 例如要限制 EditText 中只允許輸入數字的話,我們可以在 XML 描述檔中,透過將 EditText 的參數「android:numeric」 指定為 「true」,以限制使用者只能在 EditText 文字欄位中輸入數字。 離線文件 當你處於沒有網路連接的情況下時,也可以找到 Android 文件參考。 在下載了 android-sdk 後,將之解壓縮,你可以在「android-sdk/docs」 目錄中 (android_sdk/docs/reference/view-gallery.html) ,找到一份與線上文件相同的文件參考。 開始設計 我們從實例來開始,定義一個基本 BMI 程式所需的身高(Height)輸入欄位,就會用到 EditText,與 TextView 介面元件,其描述如下: 1   6   可以看到 EditText 介面元件描述的基本的組成與 TextView 介面元件相似,都用到了「android:layout_width」與「android:layout_height」屬性。 另外,指定的另外兩個屬性「android:numeric」、「android:text」則是 EditText 介面元件的特別屬性。「android:text」屬性是繼承自 TextView 介面元件的屬性。     android:numeric="integer"     android:text="" 將 「android:numeric」 指定為 「integer」,可以限制使用者只能在 EditText 文字欄位中輸入整數數字。「android:text」屬性則是指定 EditText 介面元件預設顯示的文字(數字)。 我們再來看看 Button (按鈕)介面元件          
本文档为【Android编程入门教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_895357
暂无简介~
格式:doc
大小:615KB
软件:Word
页数:0
分类:互联网
上传时间:2018-09-08
浏览量:12