找回密碼
         注冊會員
        搜索附件  

        MIDlets.jad

         

        在MIDlet套件中封裝多個MIDlet:
        在我們談?wù)撊绾畏庋b多個 MIDlet之前,我們先得多寫幾個可用的MIDlet。下面有兩個簡單的 MIDlet。
        第一個顯示一個帶有簡短消息的文本框組件。

          MIDlet1.java源程序:
        import javax.microedition.midlet.*;
        import javax.microedition.lcdui.*;
        public class MIDlet1 extends MIDlet implements CommandListener
        {
         private Display display; // 引用Display對象
         private TextBox tbxMain; // 顯示消息的文本框
         private Command cmdExit; // 退出MIDlet的命令
         // 構(gòu)造程序
         public MIDlet1()
         {
          display = Display.getDisplay(this);
          cmdExit = new Command("Exit", Command.SCREEN, 1);
          tbxMain = new TextBox("MIDlet 1", "Welcome", 50, 0);
          tbxMain.addCommand(cmdExit);
          tbxMain.setCommandListener(this);
         }
         // 啟動MIDlet時由應(yīng)用程序管理器調(diào)用
         public void startApp()
         {
          display.setCurrent(tbxMain);
         }
         // 一個必要的方法
         public void pauseApp()
         { }
         // 一個必要的方法
         public void destroyApp(boolean unconditional)
         { }
         file://檢查一下是否選擇Exit命令
         public void commandAction(Command c, Displayable s)
         {
          if (c == cmdExit)
          {
           destroyApp(false);
           notifyDestroyed();
          }
         }
        }

          第二個MIDlet使用List組件顯示消息(MIDlet2.java):
        import javax.microedition.midlet.*;
        import javax.microedition.lcdui.*;
        public class MIDlet2 extends MIDlet implements CommandListener
        {
         private Display display; file://引用Display對象
         private List lstMain;
         private Command cmdExit; // 退出 MIDlet的命令
         // 構(gòu)造程序
         public MIDlet2()
         {
          display = Display.getDisplay(this);
          cmdExit = new Command("Exit", Command.SCREEN, 1);
          lstMain = new List("MIDlet 2", Choice.IMPLICIT);
          lstMain.append("Welcome Back", null);
          lstMain.addCommand(cmdExit);
          lstMain.setCommandListener(this);
         }
         file://啟動MIDlet時由應(yīng)用程序管理器調(diào)用
         public void startApp()
         {
          display.setCurrent(lstMain);
         }
         file://一個必要的方法
         public void pauseApp()
         { }
         file://一個必要的方法
         public void destroyApp(boolean unconditional)
         { }
         file://檢查一下是否選擇Exit命令
         public void commandAction(Command c, Displayable s)
         {
          if (c == cmdExit)
          {
           destroyApp(false);
           notifyDestroyed();
          }
         }
        }


          第一個程序名為 MIDlet1.java,第二個程序名為 MIDlet2.java。在你保存這些文件的目錄里,運(yùn)
        行下列命令編譯并預(yù)驗(yàn)證這些文件。
        javac -bootclasspath c:mefcs*.java
        preverify -classpath c:mefcs;. -d . MIDlet1 MIDlet2
        jar cvfm MIDlets.jar manifest.txt MIDlet1.class MIDlet2.class spin.png

          創(chuàng)建 JAR文件
        創(chuàng)建一個新文件,取名為 manifest.txt,然后輸入如下內(nèi)容:
        MIDlet-Name: MIDlet Examples
        MIDlet-Version: 1.0
        MIDlet-Vendor: My Corporation Inc.
        MIDlet-1: MIDlet1, /spin.png, MIDlet1
        MIDlet-2: MIDlet2, /spin.png, MIDlet2
        MicroEdition-Profile: MIDP-1.0
        MicroEdition-Configuration: CLDC-1.0

          運(yùn)行下列命令創(chuàng)建一個 JAR文件:

          
        jar cvfm MIDlets.jar manifest.txt MIDlet1.class MIDlet2.class spin.png

          這將創(chuàng)建一個名為 MIDlets.jar的 JAR文件,包括 manifest.txt文件和上面兩個類文件。

          注意: JAR中的清單文件名應(yīng)是 manifest.mf。

          創(chuàng)建 JAD文件

          創(chuàng)建一個新文件,取名 MIDlets.jad:
        MIDlet-Name: MIDlet Examples
        MIDlet-Version: 1.0
        MIDlet-Vendor: My Corporation Inc.
        MIDlet-Description: Two simple examples to show how to compile and run a MIDlet
        MIDlet-Jar-URL:
        MIDlet-Jar-Size: 2604
        MIDlet-1: MIDlet1, /spin.png, MIDlet1
        MIDlet-2: MIDlet2, /spin.png, MIDlet2

          注意這兩個 MIDlet的引用:
        MIDlet-1: MIDlet1, /spin.png, MIDlet1

        MIDlet-2: MIDlet2, /spin.png, MIDlet2

          上面每一行都包括在設(shè)備上顯示的 MIDlet名 ( MIDlet1和 MIDlet2 );在每個MIDlet名旁邊,應(yīng)用
        程序管理器都會顯示一個圖象文件;以及啟動 MIDlet的類文件。

          運(yùn)行 MIDlet

          你既可以從一個局域網(wǎng)文件系統(tǒng)也可以從一個 Web服務(wù)器中運(yùn)行MIDlet,現(xiàn)在我將分別介紹一下。

          從文件系統(tǒng)運(yùn)行

          鍵入下列命令來預(yù)覽MIDlet:
        midp -transient file://MIDlets.jad

           -transient選項(xiàng)告訴模擬器,你想運(yùn)行一個指定 url中可找到的描述文件。在本例中,
        file://MIDlets.jad,這當(dāng)前目錄查找 MIDlets.jad。如果有必要的話,你還可以給出一個 JAD文件的
        完整的路徑。比如說,我的 JAD文件的完整路徑是
        file://J2ME/MIDlets/welcome.jad
          從 Web服務(wù)器上運(yùn)行

          你還可以從一個 Web服務(wù)器上運(yùn)行 MIDlet,在上載 JAR和 JAD文件之后,通過改變 url訪問 JAD文
        件:
        midp -transient

          這將訪問運(yùn)行在我的電腦上的Web服務(wù)器上的 MIDlets.jad文件,如果你把文件上傳到互聯(lián)網(wǎng)上的
        Web服務(wù)器,只需簡直改變適當(dāng)域名:
        midp -transient http://www.yourwebserver.com/path/MIDlets.jad

          使用 Java程序包的項(xiàng)目管理

          按照下列步驟創(chuàng)建最后一個MIDlet:

          1. 創(chuàng)建用于新項(xiàng)目的目錄,我使用的名稱為 MIDletPackage,是c:me的子目錄。

          2. 在新建目錄內(nèi),創(chuàng)建三個新的子目錄: jclasses、 pclasses、 resources

          有了這些附加的目錄,能夠很容易找到特定的文件。例如,所有的圖象文件和其他資源都放入
        /resources子目錄;所有的由 Java編譯程序創(chuàng)建的類文件都置于 /jclasses子目錄;經(jīng)過預(yù)驗(yàn)證的類置
        于/pclasses子目錄中。下面是我的系統(tǒng)中的目錄結(jié)構(gòu):
        c:j2me
        |
        MIDletPackage => Java 源代碼和manifest.txt文件
        |
        jclasses => 從Java編譯器編譯的類
        pclasses =>經(jīng)過預(yù)驗(yàn)證的類
        resources =>資源文件 (圖像文件等)

           3. 更新文件:復(fù)制 Java源文件( MIDLet1.java和 MIDlet2.java)到 MIDletPackage目錄,并在每
        個文件頭部添加 package語句,如下:而且,如果你已經(jīng)使用一個圖象文件的話,把這個文件復(fù)制進(jìn)
        resources目錄中。
        MIDlet1.java:
        package simpleMIDlets;
        import javax.microedition.midlet.*;
        import javax.microedition.lcdui.*;
        public class MIDlet1 extends MIDlet implements CommandListener
        {

        ...

        }

        MIDlet2.java:

        package simpleMIDlets;
        import javax.microedition.midlet.*;
        import javax.microedition.lcdui.*;
        public class MIDlet2 extends MIDlet implements CommandListener

        {

        ...

        }

          4、參考圖象文件和類文件的新的位置更新 manifest.txt和 JAD文件。
        manifest.txt:
        MIDlet-Name: MIDlet Examples
        MIDlet-Version: 1.0
        MIDlet-Vendor: My Corporation Inc.
        MIDlet-1: MIDlet1, /resources/spin.png, simpleMIDlets.MIDlet1
        MIDlet-2: MIDlet2, /resources/spin.png, simpleMIDlets.MIDlet2
        MicroEdition-Configuration: CLDC-1.0
        MicroEdition-Profile: MIDP-1.0


        MIDlets.jad:
        MIDlet-Name: MIDlet Examples
        MIDlet-Version: 1.0
        MIDlet-Vendor: My Corporation Inc.
        MIDlet-Description: Packaging multiple MIDlets
        MIDlet-Jar-URL:
        MIDlet-Jar-Size: 2884
        MIDlet-1: MIDlet1, /resources/spin.png, simpleMIDlets.MIDlet1
        MIDlet-2: MIDlet2, /resources/spin.png, simpleMIDlets.MIDlet2

          注意MIDlet-1和MIDlet-2的更改,被引用的類文件使用 simpleMIDlets.MIDlet1和
        simpleMIDlets.MIDlet2包名。

          5、編譯:編譯源程序:
        javac -bootclasspath c:mefcs-d jclasses *.java

          -d選項(xiàng)告訴編譯程序,把類文件寫入 jclasses目錄。

          6、預(yù)驗(yàn)證:
        preverify -classpath c:mefcs; -d pclasses jclasses

          -d選項(xiàng)告訴預(yù)驗(yàn)證器把經(jīng)過預(yù)驗(yàn)證的類保存在 pclasses目錄下。最后的 jclasses告訴預(yù)驗(yàn)證器到
        什么地方尋找那些要預(yù)驗(yàn)證的類。

          7、創(chuàng)建 JAR:運(yùn)行 jar程序:
        jar cvfm MIDlets.jar manifest.txt -C pclasses . resources 

          創(chuàng)建一個名為 MIDlets.jar的文件,使用文件 manifest.txt作為清單文件的內(nèi)容 (一個名為
        manifest.mf的文件將被保存在 JAR中)。

          運(yùn)行MIDlet,有兩種情況:

          (1)從文件系統(tǒng)中運(yùn)行MIDlet:
        midp -transient file://MIDlets.jad

          (2)從web服務(wù)器上運(yùn)行MIDlet:把JAR文件和JAD文件上傳到web服務(wù)器,輸入下面的命令來瀏覽
        MIDlet:
        midp -transient
        本文章來自中國IT實(shí)驗(yàn)室http://embed.chinaitlab.com/

        QQ|手機(jī)版|MCU資訊論壇 ( 京ICP備18035221號-2 )|網(wǎng)站地圖

        GMT+8, 2025-3-16 21:26 , Processed in 0.033055 second(s), 8 queries , Redis On.

        Powered by Discuz! X3.5

        © 2001-2024 Discuz! Team.

        返回頂部
        精品久久人人妻人人做精品| 国产99视频精品免视看7| 人妻少妇精品视频二区| 日韩精品视频一区二区三区| 99精品国产丝袜在线拍国语| 国产成人无码精品久久久久免费| 精品国产乱码久久久久久浪潮| 一二三四观看在线视频中文| 精品久久久久久亚洲精品| 91精品国产91热久久久久福利 | 欧美精品国产一区二区| 老司机精品影院91| 人妻精品久久久久中文字幕一冢本| 九九热精品在线| 无码人妻一区二区三区精品视频| 久久久久久国产精品免费无码| 国产精品.XX视频.XXTV| 男人天堂视频在线| 国内精品手机在线观看视频| 亚洲国产精品一区二区第一页免| 国产精品污WWW在线观看| 精品久久人人爽天天玩人人妻| 久久久久99精品成人片试看| 国内精品伊人久久久久网站| 日韩精品久久无码人妻中文字幕| 91人前露出精品国产| 牛牛在线精品免费视频观看| 日韩精品一区二区三区大桥未久| 香蕉依依精品视频在线播放| 55夜色66夜色国产精品视频| 欧美日韩国产精品| 国产精品成人va在线观看| 日韩精品在线播放| 国产精品黄网站| 日本免费精品一区二区三区| 国产精品电影网| 欧美影院在线观看| 成人午夜精品久久久久久久小说| 亚洲国产精品无码久久98| 国产精品日韩欧美在线第3页| 十八18禁国产精品www|