Andriod-建立Activity

Andriod-建立Activity

首先,先說明一下「Activity 」是什麼,
基本上它是負責處理一個螢幕的內容,
包含介面、選單、對話框、動作等,
簡單來說,一個「Activity 」就是一做可操作的頁面。

 

「Activity」是可以搭配使用,
所以又分成「獨立Activity 」及「相依Activity 」,
獨立「Activity」 是指「Activity」 互不影響,各做各的,
而相依「Activity」 是指「Activity」 會互相影響。

 

我們新增一個獨立的「Activity 」來討論,
基本上有五個步驟(以下會各別說明):
1-新增程式檔-XXX.java
2-新增版面檔-XXX.xml
3-新增描述檔.XXX.xml
4-新增 Activity 描述
5-原 Activity 中加入 startActivity

 

1-新增程式檔-XXX.java:

在專案的資料夾先按右鍵,選擇「New->Class」選項, Eclipse 會跳出一個「New Java Class」對話框(如下),
然後在對話框中的「Name」一欄上填入「XXX」,「XXX」的字頭需大寫,這是 Java 程式語言的規則,
接著在「Superclass」一欄右方,按下「Browse...」,
Eclipse 會跳出「Superclass Selection」對話框,
在對話框中的「Choose a type」,我們選擇「Activity - android.app - ...」這個選項,
再Package中,請記得選原Package的名稱
最後點擊右下方的「ok」按鈕。

 

設定正確的話,就會在「src」看到一個「XXX.java」的檔案,
打開之後,程式碼會類似下述:


 package com.demo.android.XXX;

 import android.app.Activity;

 public class XXX extends Activity {
 }

2-新增版面檔-XXX.xml:

直接在「res/layout」中按右鍵,新增一個「XXX.xml」檔案,
內容可以copy原本的XML檔

 

3-新增描述檔.XXX.xml:

直接在「res/value」中按右鍵,新增一個XXX.xml 描述檔,
內容可以copy原本的XML檔


4-新增 Activity 描述:

開啟專案中「AndroidManifest.xml」檔案,並切換到「Application」分頁,
在「Application Nodes」欄位右側的「Add...」按鈕, 選擇「Activity」後,按下「ok」,
然後會發現「Application Nodes」欄位中會增加一個「Activity」。

再選擇這個「Activity」項目後,在「Application Nodes」欄位右方會出現新的「Attributes for Activity」相關欄位,
在 「Name*」欄位右側的 「Browse...」按鈕,選擇在程式中現有定義的 Activity,
我們選擇「XXXt - com.demo.android.xxx」後,按 「ok」 ,
「Application Nodes」欄位中的名稱也更新成「XXXt(Activity)」。


其實手重建也很快,
直接開xml檔,
然後填入「<activity android:name="XXX"></activity>」即可。

 

5-原 Activity 中加入 startActivity :

修改原本專案的java檔「OnClickListener()」函式的內容,
按下按鈕後從 原 Activity 切換(跳轉)到 xxxt Activity 的程式,
程式碼如下:


private Button.OnClickListener ‥
{ 
	public void onClick(View v)
        	{
    		//Switch to report page
    		Intent intent = new Intent();
    		intent.setClass(Bmi.this, XXX.class);
    	
    		Bundle bundle = new Bundle();
       	bundle.putString("KEY_HEIGHT", field_height.getText().toString());
       	bundle.putString("KEY_WEIGHT", field_weight.getText().toString());
        	intent.putExtras(bundle);


    		startActivity(intent);
       	 }
}

 

 

自我LV~