2012年12月8日 星期六

Android教學(1)-開發環境

前言:這是一系列Android教學文的第一篇,從如何開始寫Android到各種Android功能的使用方式。這系列的文章預設是給有程式基礎的人看的,最好是有java基礎,略懂物件導向與繼承,但是只會寫C/C++的話應該也還能對付著學。若是想從Java開始學,可以參考
良葛格學習筆記

要學一項新的技術,最麻煩的往往是不知從何開始。以前要開發Android App步驟很多很麻煩,先灌JDK設定參數,抓Eclipse跟Android SDK,再安裝ADT。不過最近最新釋出的Android SDK 4.2幫你把東西都包好了!!

要開始寫Android的程式,只要到Google developer下載最新的Android SDK下來解壓縮,就可以直接用包在裡面的Eclipse開始動手了!!在Google developer中也能找到Android的文件。若是在寫程式時碰到不會用的函式或類別,可以到這邊查詢用法,不過一般來說直接Google會比較快XD。

Eclipse


Eclipse是現在最常見的IDE之一,主要是拿來寫Java程式,但是配合不同的plug in,也可以撰寫C/C++/Python/Java Script等不同的程式語言。在寫程式時Eclipse也提供了很多方便的功能,例如自動排版(Ctrl+Shift+f),自動完成(Alt+/)或是Debug 提示等等。當然他的自動偵錯只限於語法錯誤,程式邏輯的問題是找不出來的,不過在需要import或是實作implement的函式時就可以偵測並且幫你補上該寫的部份。

Android SDK Manager 

在Eclipse中可以透過Android SDK Manager管理目前所安裝的Android開發版本。Android的版本眾多,市面上目前從2.x到4.x都有,而下載下來的SDK裡面只有最新的4.2版,若是要撰寫或是編譯其他版本的Android程式,就要透過Android SDK Manager下載對應版本的SDK。

AVD Manager 

AVD Manager全名是Android Virtual Device Manager,用來建立管理Android模擬器。可以透過他來建立Android模擬器以運行Android app。在建立模擬器時,要選擇模擬器的硬體規格,Android版本,SD卡大小等等參數。之後就能夠開啟Android模擬器了。模擬器的版本也差很多,某些版本的模擬器在使用相機或影片等功能時會無法運作。

模擬器打開來基本上跟實際的手機差不多,也可以直接開啟裡面安裝的APP,或是透過手機裡本來就有的設定來管理App。在操作上則是透過滑鼠,在上面點擊拖曳就等同於用手指觸控。

雖然Android模擬器的效能很差,但是在沒有實機的時候還是能拿來頂著用,而且在開發跟簡訊,電話,GPS等功能相關的App時,透過模擬器開發可以更方便的測試這些功能。





DDMS

DDMS是Android SDK所提供的Debug工具,可以用來監測模擬器和實機的運作狀態,底下是DDMS內所提供常用的工具。如果不小心關掉或是找不到的話,可以到Window->Open perspective開啟DDMS,還有到Window->Show View開啟下面的功能。

LogCat 

LogCat可以用來看手機內所發出的Log,不管是系統所發或是自己主動發出的Log。LogCat在寫程式Debug時幾乎可以說是必備的工具。在寫程式時,除了可以透過Log瞭解程式運行的狀態,最重要的是,當程式當掉,我們可以透過系統的Log找出原因。LogCat也提供過濾的功能,可以直接搜尋類型,tag或內容。

當程式Crash時,第一件事就是到LogCat看為什麼Crash!

一般來說,當程式整個當掉,系統會噴出一堆Log告訴你程式是怎麼當的。因為Java的物件繼承關係很密切,所以Log中會把每一層的資訊都顯示出來,不過最重要的資訊是
1.Cause By xxxException
2.at 你的package name (你的某個class:行數)

at package name(class:行數)告訴你程式在那裡當掉,雙擊還可以直接跳到那一行。
Cause By xxxException告訴你程式為什麼當掉,有經驗的程式設計師在看到Exception的類型時就能夠判斷是那裡出錯。最常見的Ecxeption有NullPointerException(使用到空的物件),ClassNotFoundException(在Android中常常是忘了在Android Manifest中宣告Activity或Service),ClassCastException(物件轉型轉錯)等等。若是程式當掉不知道怎麼修,把Exception丟上Google也往往能找到答案。


Devices

在Devices可以看到目前開啟的模擬器與實機,還有裡面正在運行的程式狀態。在這邊可以強制停止程式,也可以透過相機的icon截取螢幕截圖。在同時有多台設備時,也是在這邊選擇DDMS其他功能要顯示與操作的目標。



Emulator Control 

Eulator Control用來對模擬器進行操作,這邊提供的是發送簡訊,打電話給模擬器,或是發送GPS的經緯度座標給模擬器。



File Explorer

可以看見設備中的檔案系統,也可以從手機刪除/下載/上傳檔案。不過要操作的話可能要對Linux的系統架構有些了解,才能夠找到檔案的位置。





開發環境就介紹到這邊,下一篇來講建立執行Android Project與其內容架構。

沒有留言:

張貼留言