iT邦幫忙

DAY 30
11

從無到有-實戰Android系統開發系列 第 30

從無到有-實戰Android系統開發-程式實戰(9)

  • 分享至 

  • xImage
  •  

程式實戰-如何由系統分析出來流程,來進行程式的撰寫過程,要提出重要的地方來說明分析。
時間過的真快,今天就是鐵人賽的最後一天,可是,程式實戰的東西太多了。所以,這個章節會再介紹上個章節後續的實際操作的部份。而之前提到要介紹的部份:

  1. 如何傳送資料到新視窗(Intent)
  2. 如何支援多國語系
  3. 如何加入下拉選單元件(Spinner)
  4. 如何存取資料表

在未來的時間,再慢慢為大家再介紹。接下來,繼續上個章節的部份,我們開始介紹實際操作的部份。

首先,是在專案中,建立新Activity類別檔案。(程式碼檔案.java及介面檔案.xml)的部份。
第一步,在Eclipse平台中的Package專案瀏覽視窗,將專案檔案展開後,切換到「src/com.demo.Demo3/」。就會顯示出「Demo3.java」的程式原始碼檔案。我們準備在此建立一個新的Activity類別檔案。
在「cmd.demo.Demo3」資料夾圖示上按右鍵,選擇「New->Class」選項。 Eclipse 會出現一個「New Java Class」對話框。如圖38所示。

圖38

在「New Java Class」對話框中的「Name」一欄上填入「Calculational」。「Calculational」的頭一個字要大寫,這是Java程式語言的命名規則。
在「Superclass」欄位的旁邊,有一個「Browse…」的按鈕,按下「Browse...」,Eclipse平台就會跳出「Superclass Selection」對話框。在對話框中的「Choose a type」欄位中輸入「activity」,輸入框下方的「Matching items」欄位中,會顯示出所有可能的類別。我們選擇「Activity - android.app」這個選項,再點選下方的「OK」按鈕,回到上一個對話框。

此時,「Superclass」欄位中將填入「android.app.Activity」訊息。按下對話框下方的「Finish」鍵,Eclipse 會在「cmd.demo.Demo3」資料夾中,產生一個對應的「Calculational.java」檔案。如圖39所示。

圖39

而剛產生的「Calculational.java」檔案內容,如圖40所示:

圖40

在之前的章節中有提到 Android 程式碼的基本架構,即 XML 描述檔與程式碼兩個主要組成部分。稍後我們再處理建立新程式碼的相關工作,包含定義對應的 XML 描述檔案。

下一步,就是要建立對應的XML描述檔案。在Eclipse平台中的Package專案瀏覽視窗,將專案檔案展開後,切換到「res/layout」。就會顯示出「main.xml」的程式原始碼檔案。我們準備在此建立一個新的XML 描述檔案。

在「res/layout」資料夾圖示上按右鍵,選擇「New->Android XML File」選項。 Eclipse 會出現一個「New Android XML File」對話框。如圖41所示。

在「New Android XML File」對話框中的「File」一欄上填入「calculational.xml」。而在「res/layout」資料夾的檔案名稱,都是要小寫的,不可以有大寫,這一點要特別注意。
按下對話框下方的「Finish」鍵,Eclipse 會在「res/layout」資料夾中,產生一個對應的「calculational.xml」檔案。

圖41

而剛產生的「calculational.xml」檔案內容,如圖42所示:

圖42

接下來,就是要將二個檔案結合在一下,請參考下述程式碼,如圖43所示。

圖43

主要是設定setContentView函式中的參數,要參數設定成我們新定義的XML描述檔案產生的資源識別符號即可。

下一步,就是在AndroidManifest.xml檔案清單中新增Activity描述。我們再打開「AndroidManifest.xml」檔案,並切換到「Application」分頁。在「Application」分頁的左下角,我們可以看到「Application Nodes」欄位中,列出目前已在「AndroidManifest.xml」檔案中定義的所有「Activity」。現在我們就來將 「Calculational」這個新的 Activity 加入到「AndroidManifest.xml」檔案中。

點選「Application Nodes」欄位右側的「Add...」按鈕,彈出一個小對話框。 選擇「Activity」後,按下「OK」回到「Application」分頁。「Application Nodes」欄位中會增加一個「Activity」項目。選擇這個「Activity」項目後,在「Application Nodes」欄位右方會出現新的「Attributes for Activity」相關欄位。如圖44所示。

圖44

下一步,點選「Name*」欄位右側的「Browse...」按鈕,開啟另一個對話框。新的對話框中我們可以選擇在程式中現有定義的Activity。我們選擇「Calculational - com.demo.Demo3」後,再按「OK」按鈕,回到「Application」分頁。此時「Name*」欄位的內容變成了「calculational」,「Application Nodes」欄位中的名稱也更新成「Calculational (Activity)」了。如圖45所示。

圖45

在activity 標籤的內容,我們從「Application」分頁切換到「AndroidManifest.xml」分頁,查看剛剛的動作實際上作了些什麼事。我們發現,在原本的 activity 敘述下方,新增了一行名為「Calculational」的 activity 標籤,完整的「AndroidManifest.xml」清單內容,如圖46所示:


圖46

最後一步,在原來的Activity類別程式碼中加入startActivity函式,來呼叫新的Activity。
在之前的範例中,我們再新增一個按鈕來進行切換的動作,如何新增一個按鈕及觸發事件的設定,請參考之前的章節。而呼叫新的Activity,請參考下述程式碼,如圖47所示。

圖47

主要的程式碼是在建立一個新的「Intent」實體,在設定setClass來說明要指定來源的Activity所在class,與要前往的 Activity 所在的class。
最後,startActivity函式會將intent傳入Android框架,Android框架會根據各應用程式在系統中註冊的資料,找出對應的Activity,並呼叫它。如圖48、圖49所示。


圖48


圖49


上一篇
從無到有-實戰Android系統開發-程式實戰(8)
系列文
從無到有-實戰Android系統開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
fillano
iT邦超人 1 級 ‧ 2009-11-11 17:21:29

恭喜lucius大鐵人鍊成!

lucius iT邦新手 2 級 ‧ 2009-11-11 17:44:53 檢舉

謝謝你

0

賀喜Lucius大、鐵人練成!
Android程式設計、我的方向之一,有機會真的要練練功咯!有機會的話指點指點一下我咯!

lucius iT邦新手 2 級 ‧ 2009-11-12 16:23:10 檢舉

還好啦,我自己也是在研究一些東西。有問題的話,可以互相討論。

0
thefogs
iT邦新手 5 級 ‧ 2014-02-14 09:57:37

感謝分享,辛苦了!

對入門的新手非常受用阿,有些甚至教科書沒有的。

喜歡

我要留言

立即登入留言