讀古今文學網 > Android程序設計:第2版 > 小試牛刀:確認安裝是否能夠正常工作 >

小試牛刀:確認安裝是否能夠正常工作

如果遵循本章前面給出的步驟,Android SDK安裝就完成了。但為了確保安裝能夠正常工作,創建一個簡單的Android應用進行驗證。

創建Android項目

創建簡單的Android應用的第一步是創建Android項目(Android Project)。Eclipse會把工作項組織成項目,當指定某項目為Android項目後,Eclipse就會自動關聯該項目所需要使用的ADT插件和其他Android工具。

注意:創建Android項目所需的參考信息和詳細的在線說明可以在這裡找到:http://developer.android.com/guide/developing/eclipse-adt.html。

通過File→New→Android Project菜單命令啟動新項目。在New Project對話框中找到Android Project選項(它應該是在Android菜單欄中)。單擊Next按鈕,New Project對話框將會如圖1-6所示。

圖1-6:Android Project新建對話框

要創建Android項目,需要提供以下信息:

Project name(項目名稱)

項目名稱即在Eclipse(而不是在應用)中顯示的項目名稱。輸入TestProject,如圖1-6所示。

Workspace(工作區)

工作區是包含一組Eclipse項目的文件。在創建新的項目時,可以選擇在當前的工作區中創建該項目,或者為該項目在文件系統中指定一個不同的位置。除非需要把這個項目放在某個特定的位置,否則可以使用默認選項Create new project in workspace(在當前工作區中創建一個新項目)和Use default location(使用默認位置)。

Target name(目標名稱)

安裝SDK時安裝的Android系統鏡像顯示在build target列表中。可以選擇其中一個以及其相應的供應商、平台(Android操作系統版本號)、構建的應用的API級別。平台和API級別是最重要的參數,它們負責管理應用在編譯時所使用的Android平台庫,以及要支持的API級別——應用將無法使用比你所選中的API級別更高的API。在這個例子中,選擇使用最新的Android操作系統及你所安裝的API級別。

Application name(應用名稱)

這是用戶會看到的應用名。輸入Test Application。

Package name(包名稱)

包名稱創建了Java包命名空間(namespace),它需要在應用中唯一標識出這個包,同時還需要能夠唯一標識整個Android應用,使得該應用能夠與所有其他已經安裝的應用區分開。包名稱包括唯一的域名(domain name)(即應用發佈商的域名)及應用的名稱。在Java中,不是所有的包命名空間都是唯一的,但是Android應用規範可以確保命名空間很少會出現衝突。在這個例子中,使用com.oreilly.testapp作為命名空間,你也可以選用適合於你的域名的命名空間(還可以使用com.example.testapp,因為example.com這個域名是專用於例子程序的,比如這個例子)。

Activity

Activity是Android應用用戶交互界面中的一個基本單位,通常就是一屏中的一組用戶界面對象。作為一個可選項,當創建一個項目時,也可以選擇創建一個skeleton activity。如果要創建的是一個可視化應用(與之對應的是服務,服務是「沒頭腦的」——沒用戶界面),這是創建應用的初始Activity的快捷方式。在這個例子中,創建一個名為TestActivity的Activity。

最小SDK版本號(Minimum SDK Version)

Min SDK字段應該包含一個整數,用於指明應用所需要的最小SDK版本號,它用於應用的屬性清單(manifest)中的uses-sdk屬性的初始化,應用的屬性清單是一個存儲應用的所有屬性的文件。參見P27「Android Manifest編輯器」一節的相關內容。在大多數情況下,最小SDK版本號應該和你所選擇的build target的API級別相同,它在build target列表的最右側,如圖1-6所示。

單擊Finish(不是Next)按鈕完成Android項目的創建。新創建的項目將顯示在Eclipse IDE的左窗格中,如圖1-7所示。

圖1-7:Package Explorer視圖,顯示文件及其組件,它們都是項目的一部分

單擊項目名稱旁邊的「+」(在Windows系統中)或者三角形(在Mac intosh和Linux系統中),就會展開項目層次視圖,可以看到Android項目的各個部分。展開src文件夾,會看到一個你在嚮導中創建的Java包。展開該Java包,可以看到創建的Activity類。雙擊該Activity類,就可以看到你的第一個Android程序的Java代碼了,本例的代碼如下所示:


package com.oreilly.demo.pa.ch01.testapp;
import android.app.Activity;
import android.os.Bundle;
import com.oreilly.demo.pa.ch01.R;
public class TestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
 

如果一直照著本書的說明做,並且在電腦上看到了同樣的內容,則你的SDK的安裝很可能是正確的。但是,我們還是一起來確認一下。分別在模擬器上和Android設備(如果手頭有的話)上運行第一個程序,以進一步探索SDK。

創建Android虛擬設備(AVD)

Android SDK提供了模擬器,它可以模擬使用ARM CPU的運行Android操作系統的設備,這將使你可以在自己的PC機上運行Android程序。一台Android虛擬設備(Android Virtual Device,AVD)是該模擬器上的一組配置參數,使用這些參數對模擬器進行配置,就可以模擬特定的系統鏡像,(即特定版本的Android操作系統),並設置其他參數來管理屏幕大小、內存大小及其他硬件特徵。AVD的詳細文檔說明可以從下面這個網址直接獲取:http://developer.android.com/guide/developing/tools/avd.html,模擬器的詳細文檔說明地址如下:http://developer.android.com/guide/developing/tools/emulator.html。

因為這裡的目標只是驗證SDK安裝是否成功,不是要深入說明AVD,所以在此先不對模擬器進行詳細介紹。本節將使用Android SDK和AVD管理器(如圖1-8所示)創建AVD,並使用它來運行剛剛創建的應用。

圖1-8:SDK和AVD管理器

需要創建包含系統鏡像的AVD,它的版本至少要和創建的項目指定的target的版本一樣。單擊New按鈕,會看到Create New Android Virtual Device(AVD)對話框,如圖1-9所示,可以為新的AVD指定參數。

圖1-9:創建新的AVD

可以在這個對話框中為新的AVD設置參數:

Name(名稱)

名稱是指AVD名稱。可以為AVD指定任何名稱,但是如果能夠通過該名稱知道所用的是哪種系統鏡像是有益的。

Target

Target參數設置在AVD中要使用的系統鏡像。Target應該和創建Android項目時所選定的build target一樣或者更新。

SD Card

一些應用需要SD卡,後者能夠對Android設備的閃存存儲器進行擴展的硬件。除非計劃在SD卡存儲中放很多數據(例如媒體文件),可以創建一個小的虛擬SD卡,如100 MB,雖然大多數手機的SD卡有好幾個GB的存儲空間。

Skin(外觀)

AVD的Skin主要設置屏幕大小。不需要改變默認設置來驗證SDK安裝是否正常工作,但是不同屏幕大小的各種模擬器對於驗證佈局在不同的設備上能否正常工作是很有用的。

Hardware(硬件)

AVD配置中的Hardware域支持設置可選的硬件。這裡使用默認值即可。

填寫Name、Target和SD Card字段內容,單擊Create AVD按鈕創建新的AVD。如果創建的AVD的系統鏡像和為Android項目指定的target不一致或者版本與之相比較老,則應用將無法在其中運行。

在AVD上運行程序

現在,已經創建了構建應用的項目,並且所創建的AVD的系統鏡像和應用的build target及API級別的需求也是兼容的,下面可以開始運行應用來驗證所安裝的SDK能否運行Android應用。

要運行應用,右擊所創建的項目,會彈出一個菜單,選擇Run As→Android Application命令。

如果所創建的AVD和所創建的應用兼容,AVD將會啟動,Android操作系統會在AVD上啟動,接下來就可以啟動應用程序了。在AVD上運行的應用和圖1-10所示的內容類似。

圖1-10:新建應用在AVD上的運行結果

如果配置了多個可兼容的AVD,將會彈出Android Device Chooser對話框,要求你在已經運行的AVD中進行選擇,或者在和系統關聯的Android設備中進行選擇(如果有的話),或者選擇一個AVD來啟動。圖1-11所示的情景包含一個正在運行的AVD,以及另一個可以啟動的AVD。

圖1-11:Android Device Chooser對話框

在Android設備上運行程序

剛剛創建的這個應用可以在大部分Android設備上運行。

需要使用USB線把Android設備連接到PC上,如有必要,還需要安裝驅動程序或者設置使用USB線連接該設備的訪問權限。

Windows系統的特別說明以及需要的驅動程序,可以在這裡獲取:http://developer.android.com/sdk/win-usb.html。

如果運行的是Linux系統,則需要為Android設備創建一個規則文件。

如果運行的是Mac OS X系統,就不需要配置文件。

關於USB調試的詳細參考信息可以在這裡獲取:http://developer.android.com/guide/developing/device.html。

還需要打開Android設備的USB調試選項。在絕大多數情況下,啟動Settings(設置)應用,選擇Applications(應用),然後選擇Development(開發),然後就可以看到是否要打開USB調試的選項。

如果配置了AVD或者AVD正在運行,會出現Android Device Chooser對話框,顯示所連接的Android設備及AVD。

選擇該Android設備,Android應用就會加載,並在該設備上運行。

SDK問題解決:build target不存在

如果無法創建一個新的項目或者從SDK中導入示例項目,則可能是沒有在SDK中安裝build target。安裝方法見P12「在SDK中添加build target」一節的說明,確保在Preferences對話框中的Android窗格中列出SDK中所安裝的build target,如圖1-5所示。