引言
前面幾篇文章已經介紹了Eclipse及其工作環境的安裝、配置過程,並完成各項相關預備工作。因此從本文開始將講述如何使用前面配置好的Eclipse開發環境來創建J2ME項目,開始真正的J2ME開發之旅。由於這是創建的第一個J2ME程序,按照程序開發的慣例,這頭把交椅自然又是非"Hello World"莫屬了。HelloWorld雖然功能簡單,但是麻雀雖小,五髒俱全,通過這個小程序的開發,完全能夠達到讓讀者熟悉J2ME程序開發一般流程的目的。
創建J2ME項目 與其他語言應用程序的開發類似,在開發一個J2ME程序時也要首先新建一個項目(工程)所有後續的編碼、調試和運行都是在這個工程中進行。在啟動Eclipse後,點擊"文件"菜單下"新建"菜單彈出的"項目"菜單項。將彈出如下所示的新建項目向導對話框:
首先需要指定創建的是什麼項目,展開J2ME項目,選中J2ME Midlet Suite子項後進入下一步。該向導頁(如下所示)用來設置項目名稱和項目存放路徑。一般取缺省路徑即可,項目名稱自然是經典的"HelloWorld"了。設置完畢後繼續下一步的設置。
此向導頁需要對應用程序所支持的MIDP版本進行指定。假如考慮兼容性的話可以選擇J2ME Wireless Toolkit 2.1 MIDP 1.0 platform。當然也可以選擇MIDP 2.0,但是目前支持MIDP 2.0的手機究竟還是少數。點擊下一步對Java構建設置進行定義,通常取默認值就可以了。點擊完成按鈕後EclipseMe將會自動設置好項目的編輯及運行環境。可以在導航器視圖中點擊HelloWorld.jad項,在右側編輯視圖中將可以查看EclipseMe生成的項目結構:
創建J2ME應用程序 剛才創建的是MIDlet Suite,一般也稱作MIDlet應用程序套件,可以包含一個或多個MIDlet,只是在發布時是以MIDlet Suite為單位進行。實質性的工作都是在MIDlet中完成的。因此,需要繼續添加MIDlet到項目。在導航器上點擊鼠標右鍵,從彈出菜單中選擇"新建"、"其他"菜單項啟動上圖所示對話框,選擇J2ME下的J2ME Midlet子項後進入下一步:
這裡需要指定包(也可以取缺省值)和名稱,點擊完成後EclipseMe將自動生成框架代碼。可以添加必要的功能代碼(陰影部分)到其中,以達到"Hello World"字符顯示的目的。
package demo;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class HelloWorldMIDlet extends MIDlet {
private TextBox textbox;
public HelloWorldMIDlet() {
super();
textbox = new TextBox("測試程序", "Hello World!", 20, 0);
}
protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(textbox);
}
protected void pauseApp() {
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
}
在添加上述功能代碼後會發現在前面有錯誤圖標出現,這是由於沒有導入相應的包所致。這有點類似於C++語言中缺少所引用的頭文件。與C++需要手工添加對頭文件的引用不同,在Eclipse中可以點擊"源代碼"菜單下的"組織導入"菜單項,EclipseMe將自動添加需要的包到工程:
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.TextBox;
運行HelloWorld