https://github.com/zytc2009/BigTeam_learning
分类: Java
2010-10-19 13:18:09
上一則文章介紹了 Activity 與 View 的觀念,若能再理解 Activity 與 View 的關係,就不難了解 Android 應用程式的整個模式了。請看以下的範例程式:
package com.moko.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloMoko extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello Moko");
setContentView(tv);
}
}
這是在 Android SDK 文件裡的一段範例程式,類別 HelloAndroid 繼自 Activity。下圖是Activity的生命週期(lifecycle)。在「Jollen 的 Android 教學,#1」裡提到 Activity 負責建立視窗,根據 Activity lifecycle,當視窗建立時,onCreate 事件被觸發,所以我們在 onCreate 裡建立 View。
TextView 是 Android 的其中一個 View,故名思義,這是一個顯示文字的 View。最後,呼叫 Activity 的 method 'setContentView' 來將 UI 顯示於視窗上。
初步了解如何撰寫第一個 Android 應用程式後,接著就可以實際來建立我們的第一個 Android 專案了。Android Development Kit(ADT)使用 Eclipse 整合式開發環境,根據 Android SDK 裡的文件說明,先安裝 Eclipse 以及 ADT,然後建立一個新專案(File -> New -> Project),並選擇「Android Project」,如圖1。
圖1:建立 Android Project
接著輸入專案屬性:
1. Package name:Java 套件名稱,在這裡我們將應用程式的套件命名為 com.moko.hello。
2. Activity name:輸入應用程式的 Activity 類別名稱,建立一個繼承 Activity 的新類別。
3. Application name:輸入應用程式名稱,即應用程式標題。
圖2:輸入專案屬性
建立新專案後,在主程式 HelloMoko.java 撰寫第一個 Android 應用程式如圖3。第一個 Android 應用程式在 Activity 上顯示一個 View。
圖3:第一個 Android 應用程式
設計好的應用程式可以使用 Android 模擬器來執行。Android Development Kit 也將 Android 實體手機整合在開發環境裡,因此,我們實際以 T-Mobile G1 手機(全球第一支 Google phone)來做測試。
選取 Run -> Run Configurations 後,可以看到圖4的設定選單。在「Project:」欄位選取「Browse...」選取我們的 Android 專案 - HelloMoko,然後點選「Apply」套用設定。
圖4:設定 Run Configurations
接著點選「Target」標籤,將「Device Target Selection Mode」設定為「Manual」,然後點選「Run」執行 Android 專案。在執行專案前,請先將手機連接到電腦。
圖5:設定 Target
最後,可以看到圖6的畫面,Android Development Kit 會自動偵測 Android 手機。選取手機後按「OK」,Android Development Kit 就會自動編譯專案,並將應用程式打包成 apk 套件後下載到手機上執行。
除了 G1 手機外,Openmoko 的 Neo FreeRunner 也能執行 Android 系統,Android Development Kit 也能偵測到 Neo FreeRunner 並自動將套件下載到 Neo FreeRunner 上安裝執行。
圖6:選擇 Android 手機
在 Eclipse 的訊息窗裡,可以看到 apk 套件的下載、安裝以及執行過程的完整訊息:
[2008-12-29 16:51:29 - HelloMoko] ------------------------------
[2008-12-29 16:51:29 - HelloMoko] Android Launch!
[2008-12-29 16:51:29 - HelloMoko] adb is running normally.
[2008-12-29 16:51:29 - HelloMoko] Launching: com.moko.hello.HelloMoko
[2008-12-29 16:51:32 - HelloMoko] Uploading HelloMoko.apk onto device 'HT843GZ46367'
[2008-12-29 16:51:32 - HelloMoko] Installing HelloMoko.apk...
[2008-12-29 16:51:35 - HelloMoko] Success!
[2008-12-29 16:51:35 - HelloMoko] Starting activity com.moko.hello.HelloMoko on device
[2008-12-29 16:51:36 - HelloMoko] ActivityManager: Starting: Intent { comp={com.moko.hello/com.moko.hello.HelloMoko} }
延伸閱讀
* 2008.11.21: 安 裝 Android 應用程式(apk)至 Neo FreeRunner