標籤:
搭建開發環境,建立模擬器,最後完成一個簡單的Android版應用程式並介紹項目目錄。
1 搭載Android開發環境
1.1 安裝Eclipse和ADT
下載Android SDK。SDK的全稱是軟體開發套件(Software Development Kit),Android SDK提供了一些開發Android所必須的API庫以及開發工具,用於開發測試和調試Android應用程式。ADT是一個Eclipse的外掛程式,它包含了一些使用Eclipse開發Android應用程式所需要的工具包。曾經搭載Android開發環境需要單獨下載Eclipse、Android SDK,ADT等並且還需要對其各種組件之間進行配置關聯,現在只需要訪問如下網址進行下載: http://developer.android.com/sdk/index.html
對於Windows平台而言,只需要點擊Download the SDK ADT Bundle for Windows,並根據原生系統,選擇32-bit或者64-bit,即可下載完整的ADT包。
在這個下載好的ADT包中,包含了開發Android應用所需要的所有工具。包括:
1. 安裝了ADT外掛程式的Eclipse
2. Android SDK工具包
3. Android版本工具包
4. Android最新版本的SDK
5. Android模擬器
解壓縮下載的檔案,可以看到這樣的目錄結構:
其中eclipse檔案夾下是一個精簡版的Eclipse IDE,並且預裝了ADT外掛程式。sdk檔案夾下,是Android的SDK,包含了與Android SDK相關的內容,在預設情況下\sdk\platforms目錄下只包含了最新版本的Android SDK。因為Android系統存在多個版本,如果需要開發其它版本的Android應用程式,還需要下載其它版本的SDK,這需要通過SDK Manager進行下載。
1.2 下載其它版本的Android SDK
ADT包中只包含了最新版本的Android SDK,當需要開發其它版本的Android應用程式的時候,需要通過SDK Manager進行下載。
運行SDK Manager,如顯示:
先來看看其它幾個目錄結構,Tools目錄下包含了一些Android開發的標準工具。展開見已下載了必須的一些開發工具,如:
Extras中也包含了一些擴充工具已經幫我們下載好了,這裡介紹對這些擴充工具進行簡單介紹:
- Android Support Repository:Android版本擴充的知識庫。
- Android Support Library:Android向下相容的擴充包,因為Android的版本繁雜,擴充包可以使高版本的一些特性對低版本進行相容。
- Google USB Driver: USB的驅動。在使用真機進行調試時,需要下載這個驅動。
- Intel x86 Emulator Accelerator:針對Intel處理器上運行模擬器的加速器。在當前開發機器使用i3以上型號的Intel處理器時,可以勾選此項下載,可以加快模擬器啟動速度。
- Google Xxx:以Google開頭的工具是一些由Google提供的服務,如果有需要可以一一下載。
接下來再來看看不同版本的SDK裡包含了一些什麼,這裡以Android4.3為例:
對其中項目,分別進行簡單講解:
- SDK Platform:當前平台的jar包。
- Samples for SDK:SDK裡API的簡單範例程式碼。
- ARM EABI v7a System Image:模擬器的鏡像運行在ARM的處理器上。
- Intel x86 Atom System Image:模擬器的鏡像運行在Intel的處理器上。
- Google APIs:Google服務的API。
- Sources for Android SDK:Android SDK的源碼。
2 建立模擬器(AVD)
在成功安裝Android的開發環境之後,還不能馬上進行Android的開發。因為Android應用程式需要在Android的系統上運行,雖然現在Android裝置越來越便宜,但是並不能要求所有學習者都去買一部Android裝置才能開始學習,因此Android提供了一個模擬器(AVD)來類比一台Android手機,本小節將講解如何建立一個Android模擬器。
模擬器(AVD)的英文全稱是Android Virtual Device,它可以通過Android模擬器管理器來建立。在Eclipse中,點擊如標開啟Android Virtual Device Manager。
當Android Virtual Device Manager被開啟之後,預設是沒有模擬器的,需要我們建立:
點擊Device Definitions,選取一個解析度進行模擬器的建立。這裡選擇的是3.2寸的QVGA屏。
選定螢幕解析度之後,點擊"Create AVD…",開始建立一個新的模擬器。
建立一個模擬器需要設定很多屬性,這裡對其一一進行簡單的介紹:
- AVD Name:當前模擬器的名字。
- Device:裝置的尺寸。
- Target:當前Android的版本,包括當前環境下所有下載好的SDK版本號碼。
- CPU/ABI:選擇模擬器使用的CPU類型,如果使用的Intel並且是I3以上處理器的,可以選擇Intel,這樣模擬器的啟動會快一點。
- KeyBorad:是否包含鍵盤。
- Skin:是否使用皮膚。
- Back Camera:是否類比後置網路攝影機,Webcm0之後會使用電腦的網路攝影機類比手機的網路攝影機。
- Memory Options:儲存,設定RAM和堆的大小。
- Internal Storage:設定內部儲存空間的大小,設定的內部儲存空間大小為真實硬碟的空間,建議200即可。
- SD Card:類比一個SDK卡,並設定其大小,設定的SD卡大小為真實硬碟的空間,建議32即可。
- Snapshot:支援儲存快照,不推薦勾選,會有不明BUG。
- Use Host GPU:啟用GPU硬體加速,如果當前電腦是獨立顯卡,推薦勾選。
3 簡單的Android程式
依次點擊:File→New→Android Application Project,建立一個新的Android項目。如:
4 Android項目結構分析
為Eclipse的Package Explorer中顯示的HelloWord應用的目錄結構。可以看出包含很多不同的檔案與檔案夾,下面對目錄中的檔案及檔案夾進行說明。
- src:包含項目的Java源檔案。
- gen:包含了由編譯器根據項目的資源自動產生的R.java檔案。它會引用在項目中能找到全部資源,無需開發人員對其進行維護,全部是編譯器自動完成。
- Android 4.2.2:Android4.2.2的jar包,包含了這個Android應用程式所需要的所有類庫。
- assets:包含項目中所用到的所有原生資源。
- bin:包含了產生過程中ADT生產的檔案,它會把項目打包成一個.apk檔案(Android應用的安裝包)。.apk包含了Android運行所需的一切檔案,包括.dex檔案、資訊清單檔、資源檔等。
- res:該目錄存放了Android項目的各種資源檔,比如,/layout/目錄存放了介面布局檔案,/values/目錄存放了各種XML格子的資源檔,/drawable-Xxx/目錄存放一些位元影像或者XML的資源。
- AndroidManifest.xml:Android應用程式的資訊清單檔。可以在其中註冊Android四大組件、也可以註冊應用程式所需的許可權。
AndroidManifest.xml資訊清單檔
每個Android項目所必須的,它是整個Android項目的全域描述檔案。在接觸一個新項目時,最先看的就是資訊清單檔,Android資訊清單檔AndroidManifest.xml通常可以包含如下資訊:
- 應用程式的包名及版本號碼,對應了應用的唯一標識。
- 應用程式所包含的所有組件(四大組件),均需要在此註冊。
- 應用支援相容的最低SDK版本和目標SDK版本。
- 應用所需要的系統許可權。
Android為了安全起見,資訊清單檔AndroidManifest.xml除了對應用的基本屬性進行設定和註冊Android組件之外,還需要對應用程式可能需要訪問的系統許可權進行顯示註冊。例如當前應用程式需要訪問網路、需要傳送簡訊、需要撥打到電話等,這些都需要在資訊清單檔中註冊對應許可權。
對於應用許可權,需要通過<user-permission…/>元素進行註冊。
例如,為當前應用註冊訪問網路的許可權:
<uses-permission android:name="android.permission.INTERNET"/>
對於應用全域的許可權,在<manifest…/>中註冊,對於某個組件所具有的許可權,需要在對應組件的元素內進行註冊,如在<activity…/>中可以對當前的Activity註冊對應許可權。
Android系統為了系統安全性的考慮,對所有需要訪問系統資源的地方都需要進行顯式的許可權註冊,所以它也提供了大量的許可權,這些許可權都被以常量的形式定義在Manifest.permission類中。所有被應用程式註冊的許可權,在安裝應用的時候,都會提示給使用者知道。
下面介紹一些常用的許可權:
- ACCESS_NETWORK_STATE:允許應用程式擷取網路狀態資訊的許可權。
- ACCESS_WIFI_STATE:允許應用程式擷取Wifi網路狀態資訊的許可權。
- BATTERY_STATS:允許應用程式擷取電池狀態資訊的許可權。
- BLUETOOTH:允許應用程式串連匹配藍牙裝置的許可權。
- BROADCAST_SMS:允許應用程式接收簡訊提醒的許可權。
- CALL_PHONE:允許應用程式撥打到電話的許可權。
- CAMERA:允許應用程式使用照相機的許可權。
- CHANGE_NETWORK_STATE:允許應用程式改變網路連接狀態的許可權。
- CHANGE_WIFI_STATE允許應用程式改變Wifi網路連接狀態的許可權。
- DELETE_CACHE_FILES:允許應用程式刪除快取檔案的許可權。
- DELETE_PACKAGES:允許應用程式卸載程式的許可權。
- FLASHLIGHT:允許應用程式訪問閃光燈的許可權。
- INTERNET:允許應用程式訪問網路的許可權。
- MODIFY_AUDIO_SETTINGS:允許應用程式修改全域聲音設定的許可權。
- READ_CONTACTS:允許應用程式讀取連絡人資料的許可權。
- READ_PHONE_STATE:允許應用程式讀取電話狀態的許可權。
- READ_PHONE_SMS:允許應用程式讀取簡訊的許可權。
- READ_EXTERNAL_STORAGE:允許應用程式讀取外部儲存空間的許可權。
- REBOOT:允許應用程式重啟系統的許可權
- RECORD_AUDIO:允許應用程式錄音的許可權。
- SEND_SMS:允許應用程式傳送簡訊的許可權。
- SET_ORIENTATION:允許應用程式旋轉螢幕的許可權。
- SET_TIME:允許應用程式設定時間的許可權。
- SET_TIME_ZONE:允許應用程式設定時區的許可權。
- SET_WALLPAPER:允許應用程式設定案頭壁紙的許可權。
- VIBRATE:允許應用程式訪問震動器的許可權。
- WRITE_EXTERNAL_STORAGE:允許應用程式向外部儲存空間寫入內容的許可權。
5 DDMS調試環境
模擬器運行之後,就是一個獨立的作業系統,我們無法捕捉到其內的狀態。所以Android為我們提供了DDMS(Dalvik Debug Monitor Service)調試環境,它是一個Android的調試環境。
切換到DDMS調試環境只需要在Eclipse的右上方點擊DDMS即可,或者開啟Open Perspective面板選擇DDMS開啟。
進入DDMS調試環境,可以在介面上看到幾個面板,簡單介紹幾個常用的:Devices,它顯示了當前啟動並執行模擬器的進程。如:
File Explorer,展示了模擬器上系統的內部檔案結構,可以通過File Explorer對模擬器上的檔案進行匯入匯出。如:
LogCat,一個日誌輸出工具,在其中可以輸出Android的一些日誌資訊,開發人員也可以通過Log類,寫入運行時訊息到LogCat中。如:
Emulator Control,模擬器控制器,它可以對模擬器類比一些狀態進行設定。如Telephone Status可以設定模擬器的當前的狀態;
Telephone Actions可以對模擬器類比一個來電或者簡訊內容;
Location Controls可以在模擬器上類比一個當前所在的位置資訊
模擬器運行之後,就是一個相對於當前運行系統的另外一個獨立的系統。當前系統為了捕獲到模擬器上的資訊,看似是使用的DDMS,其實DDMS也是藉助adb.exe這個工具,它位於Android SDK的\sdk\platform-tools目錄下,該目錄包含了一些開發Android應用程式需要用到的工具。adb的全稱是Android Debug Bridge,翻譯過來就是Android調試橋,用於實現當前系統對模擬器的橋接。
01_Android應用開發環境_03_開發環境搭建及簡單Android程式