黑莓開發者的第一個BlackBerry應用開發--主程序代碼解析

爲了讓讀者更深入的瞭解我們所使用的樣例程序,從而可以修改這個應用開始進一步的學習,下面對樣例應用的代碼逐行進行解釋。

 

在主用應程序中的第一句是包的聲明,如果按本文所描述的方式生成類文件的話,這一句是自動生成的:

package com.bbtest.helloworld;

package語句後面的是本類所在的包的包名。如果開發人員在其它包新建了類文件,並將本文中的樣例代碼拷貝到新建的類文件中,則要注意修改這裏的包名。

 

在包聲明語句後的是包引入的聲明,對於java開發人員也是很熟悉的,作用是本類所使用的一些不在本包裏的類。從這三行語句可以發現我們在樣例代碼中使用了UiApplication, LabelFieldMainScreen三個類。這三個類都是BlackBerry API提供的BlackBerry系統類。這幾行語句是需要開發人員手工輸入的(或者是從樣例代碼中直接拷貝的,J),系統不會自動生成。如果希望系統自動生成的話,可以在完成本例的main函數和構造函數後點擊右鍵,選擇“Source->Organize Imports”由系統自動生成這些import語句。

import net.rim.device.api.ui.UiApplication;

import net.rim.device.api.ui.component.LabelField;

import net.rim.device.api.ui.container.MainScreen;

 

import語句後是類聲明,按本文描述的方法生成類文件的話, 這一句是自動生成的。該語句表明本類類名爲“HelloWorld”,是UiApplication的子類。

public class HelloWorld extends UiApplication {

 

然後是應用程序的入口函數,main函數的聲明,這一句也是自動生成的,其格式和標準的j2se main函數相同

      public static void main(String[] args) {

           

main函數裏面只有兩句語句,就是新建一個本類的實例,然後調用該實例的enterEventDispatcher函數。 enterEventDispatcher函數其實是該類的父類,也就是UiApplication的函數,所以並不需要開發人員實現。這兩句語句對於一般的BlackBerry應用程序都是需要的,初學者可以將它們作爲定式。

            HelloWorld _app= new HelloWorld();

            _app.enterEventDispatcher();

 

main函數後就是HelloWorld類的構建函數,因爲在main方法裏建立了HelloWorld類的實例,會調用HelloWorld類的構建函數,所認我們可以認爲該函數纔是應用程序的入口。

HelloWorld類的構建函數中我們新建了一個MainScreen類的實例。如上所述MainScreen類是BlackBerry API中提供的系統類,該類主要用於一般應用程序的主屏幕,該類中已經實現了一些BlackBerry應用常用的基本方法,如果菜單鍵響應等,比較適合用於沒有特殊要求的BlackBerry應用程序。

在新建MainScreen實例後,我們新建了一個LabelField的實例並調用MainScreen類實例的add函數將LabelField實例添加到MainScrren的實例中。LabelField是一個用於顯示文本不可編輯的域。

最後, 我們調用this.pushScreen函數將新建的MainScreen實例顯示出來。這裏的this就是指HelloWorld的實例,因爲HelloWorld繼承了UiApplication類,所以可以通過HelloWorld實例調用UiApplication類中已經定義好的pushScreen函數。

      public HelloWorld()

      {

            MainScreen screen = new MainScreen();

            LabelField label = new LabelField("Hello World!");

            screen.add(label);

            this.pushScreen(screen);

      }

 

}

 

發佈了76 篇原創文章 · 獲贊 3 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章