第二天 HellowWorld
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
public class HelloWorld extends MIDlet {
Displaydisplay;
public HelloWorld(){
//super();
display= Display.getDisplay(this);
}
protected void startApp(){
Form form = new Form("Hello World!");
form.append("Welcom to J2ME world!");
display.setCurrent(form);
}
protected void pauseApp(){
}
protected void destroyApp(boolean arg0){
}
}
首先是怎麼讓這個程式能在模擬器上執行的問題。
1、把原始碼敲好,一個字別錯。Java 區分大小寫;
2、WTK和配置好的整合環境都支援編譯和釋出,最後打好一個釋出用的HelloWorld.jad包。
3、直接用模擬器裝入。
4、測試執行。
你可能遇到的問題:
1、編譯原始碼錯,Eclipse可以比較準確的報各種語法錯誤,跟著說明改
2、WTK沒有專案路徑設定,你需要新建一個同名的專案,然後把原檔案拷入相應得src目錄下。但他可以獨立編譯,執行。如果用到對應資源,根目錄指的就是/res。
3、這個程式能做的,就是顯示一行文字資訊。連退出也需要系統按鍵實現。
原始碼功能分析:
1、先看兩個 import 裝入的包。都是javax.microedition包中的,MIDP是J2ME的一種(profile,書上翻譯為簡表)配置(很多書上把config成為配置,我稱為設定)。用以確認一種完備的Java功能集合,在
2、MIDLet類,配合MIDP環境的應用程式入口實現。用於程式生命週期控制。很多程式可以從這裡開始。簡單的只有startApp()、pauseApp()、destroyApp()三個虛擬函式要實現。可以看出來,是一個高層級的程式控制入口累。如果要實現豐富的程式邏輯,還要繼續向下。
3、Display可以獲取顯示屏,而Form,Screen,Canvas,GameCanvas都是Displayable的子類,可以被指定給Display類進行顯示。Form偏向於高階的元件顯示,列表,圖片,文字框,進度條等等;GameCanvas是針對遊戲進行了功能強化的繪圖板。
這個程式顯然還相當不完整,但至少能運行了。需要做的是多看看API,瞭解一下MIDP下的類關係,基本功能和方法。