import javax.microedition.midlet.*; //應(yīng)用程序生命周期,和J2SE一樣,包java.lang.*是默認(rèn)加載的 import javax.microedition.lcdui.*; //MIDP用戶界面 public class FirstMIDlet extends MIDlet implements CommandListener { private Display display; // 引用MIDlet的Display 對(duì)象 private TextBox textBox; // Textbox 顯示一條消息 private Command cmdExit; // 設(shè)定按鈕用于退出MIDlet public FirstMIDlet() { // MIDlet構(gòu)造程序 display = Display.getDisplay(this); cmdExit = new Command("Exit", Command.SCREEN, 1); textBox = new TextBox("My First MIDlet", "Hello, J2ME!", 50, 0); textBox.addCommand(cmdExit); textBox.setCommandListener(this); } public void startApp() { // 必須要實(shí)現(xiàn)的接口,被應(yīng)用管理軟件調(diào)用來啟動(dòng)MIDlet display.setCurrent(textBox); } public void pauseApp() { } // 必須要實(shí)現(xiàn)的接口 public void destroyApp(boolean unconditional) { } //必須要實(shí)現(xiàn)的接口 public void commandAction(Command c, Displayable d) { //檢查一下是否選擇了退出命令 if (c == cmdExit) { destroyApp(false); notifyDestroyed(); } } } |
這是最簡單且功能完整的MIDlet應(yīng)用程序,其中接口startApp、pauseApp、destroyApp是必須要實(shí)現(xiàn)的,應(yīng)用程序管理器(JAM)通過這些接口調(diào)用和控制應(yīng)用程序,與Applet類似。除這個(gè)主類外還可以有其它輔助類,其要求和J2SE一致。
然后使用javac工具編譯,javac工具來自J2SE,至少JDK 1.3版,編譯時(shí)應(yīng)該使用參數(shù)-bootclasspath并指向MIDP類庫。之后使用preverify工具預(yù)驗(yàn)證,以保證生成的.class文件符合CLDC要求,這一步為每個(gè)類文件添加堆棧映射(stackmap,此屬性為CLDC新定義)屬性,增加類文件大小約5%。
此時(shí)可以用midp工具(來自MIDP實(shí)現(xiàn)的可執(zhí)行文件)模擬運(yùn)行,之后即可打包,需要編寫一清單文件(清單文件參考CLDC/MIDP規(guī)范),用jar工具(來自J2SE)把預(yù)驗(yàn)證后的類文件、資源文件、清單文件打包。
要發(fā)布應(yīng)用程序還需要編寫一描述文件(JAD),JAD的要求同清單文件一致,可以自定義參數(shù)供應(yīng)用程序調(diào)用。其中一個(gè)參數(shù)MIDlet-Jar-URL以URL方式指向JAR文件,移動(dòng)終端設(shè)備通過JAM連接網(wǎng)絡(luò)獲取JAD,下載MIDlet-Jar-URL指向的JAR到設(shè)備中,通常JAM要先判斷JAD與清單文件是否一致,應(yīng)用程序是否有效,然后才決定下載。
運(yùn)行時(shí)執(zhí)行環(huán)境、JAR包、JAD文件和應(yīng)用程序生命周期,這些要素構(gòu)成MIDlet套件,由JAM管理,每個(gè)MIDlet套件可包含一個(gè)或多個(gè)MIDlet。
上面是一個(gè)MIDP應(yīng)用程序開發(fā)的關(guān)鍵點(diǎn),具體的開發(fā)方法及開發(fā)工具大致分為如下幾種:
?、? 基本開發(fā)工具
最基本的開發(fā)方式是下載SUN提供的CLDC/MIDP參考實(shí)現(xiàn)及源代碼,可根據(jù)需求編譯生成一個(gè)CLDC/MIDP實(shí)現(xiàn),并移植到設(shè)備上。配置好開發(fā)環(huán)境(CLDC/MIDP實(shí)現(xiàn)、JDK1.3)后即可采用上述方法和工具進(jìn)行開發(fā),多采用命令行方式,這是最原始的方法。
Ⅱ. J2MEWTK開發(fā)工具
這是SUN提供的便捷開發(fā)工具,用于Windows環(huán)境,同樣需要先安裝JDK1.3。源程序仍需要使用常規(guī)的文本編輯器,把編輯好的源文件及資源文件按一定要求放在規(guī)定目錄下,J2MEWTK所提供的是菜單或按鈕方式的命令。J2MEWTK中有相應(yīng)的編譯(和預(yù)驗(yàn)證一個(gè)步驟)、打包、模擬運(yùn)行的菜單(或按鈕),以及其它輔助工具。
?、? IDE工具
可以使用Forte For Java、JBuilder等IDE工具和J2MEWTK集成使用,它們除了有J2MEWTK的功能外,就是提供有可視化的開發(fā)工具。
聯(lián)系客服