我也會Android PART2 – 啟動你的第一次Hello Android World

在上篇我們已經討論過Android專案的架構了,
所以這次就可以切入主題來了解如何建立膩自己的Hello World,
不過因為篇幅有限(我又不是在寫書 Orz),
沒辦法慢慢來所以在HelloWorld的示範中,
我們就一口氣講過幾個重要的概念,
好啦,各位同學又要綁好安全帶,上路啦~

首先當然要先開一個新的專案設定,
如上圖所示,你必須要先設定一個你想要開發的環境,
依照我的習慣當然要最低需求的OS版本,
所以我是以Android 2.1為開發環境,
接著把Application name和package name設定好就可以開始專案了。

還記得上次我們有說main.xml是用來負責Android畫面的XML配置檔,
這次我們要在main.xml設置5個按鈕Button,
並在TextView上寫入網址,
看看Android是否可以很聰明的把網址變成超連結?
main.xml的配置如下:

 

配置好畫面後,接下來回到主程式中來處理按鈕的互動,
由上方的main.xml中我們已經將每個按鈕的點擊事件(onClick)交由clickHandler來處理了,
因此我們只需要在主程式中針對clickHandler來進行處理即可,
由於程式中的註解我已經寫得很清楚了,所以就不再多做解釋,
請看下方的程式示範:

package com.riaproject.HelloWorld;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
 
public class HelloWorldActivity extends Activity {
 
	private Button myButton;
	private TextView myTextView;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        //取回實體
        this.myButton = (Button)this.findViewById(R.id.myButton);
        this.myTextView = (TextView)this.findViewById(R.id.myTextView);
 
        //設定文字到資料Text中
        this.myTextView.setText("http://blog.riaproject.com Anistar RIA Blog");
    }
 
    public void clickHandler(View v) {
 
    	//直接指派實體對象
    	this.myButton.setText(R.string.buttonClickedLabel);
 
    	//透過事件指派target
    	Button targetButton = (Button)v;
    	targetButton.setText(R.string.buttonClickedLabel);
	}
}

在這段程式中我們首先先覆寫onCreate這個method來處理程式啟動要完成的行為,
並讓所有按鈕共用同一個event handler,
命令該按鈕被點擊時可以將自己本身的text屬性改成”You clicked me!!”,
藉此來示範事件的觸發處理,
這是一個非常重要的技巧,
只要熟練這個技巧就可以製作容易管理與複製的機制,
完成後執行結果如下:

 

另外也由於在onCreate時就已經設定了一個網址給TextView,
並在main.xml中設定autoLink=”all”,
因此當TextView中具有網址時,
就會自動被辨識成超連結,
點擊超連接將會直接由Android的瀏覽器接手來做網頁呈現,
執行結果如下圖:

 

如何?是不是很簡單啊?
相信有iPhone開發經驗的人應該會發現,
哇!Android實在是比iOS在開發上來說容易太多了,
因為在Android上這些自動機制在iPhone上可是要自己來的呢。

好啦,今天的Android day就到這邊結束,
我要回去趕快把iOS的講義寫完了,
先預告下一篇Android將會探討Resource的使用,
各位看官千萬別錯過啦。

本篇發表於 Android 與標籤於 anistar固定網址書籤。
本文引用:
文章內容為ANISTAR BLOG所有,引用分享請以鏈結形式註明出處與原始作者。

關於 anistar

現任:台灣區 Yahoo! 專長: Objective C、iOS SDK、Android SDK、Flex 4、RIA、ActrionScript 3、HTML5、CSS3、JQuery、JQuery Mobile、C++、PHP、MySQL...等整合運用。 著作:《Run!PC雜誌》專欄作家、《CADesigner雜誌》專欄作家、《Flash CS3 Professional ActionScript 3.0 打造互動設計力與美》、《新一代互動體驗Flex+AIR程式開發》。 認證:Macromedia Certified Instructor in ColdFusion    Adobe Certified Expert in Photoshop    Adobe Certified Instructor in Flex

7 則迴響於《我也會Android PART2 – 啟動你的第一次Hello Android World

  1. 請問一下我有在eclipse上執行程式碼
    但是~
    this.myButton.setText(R.string.buttonClickedLabel);
    targetButton.setText(R.string.buttonClickedLabel);
    這兩行出現錯誤
    buttonClickedLabel cannot be resolved or is not a field

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *