国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

開發(fā)過程中生成MIDlet套件漫談

2019-11-18 12:46:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  一、MIDlet Suite
  
  雖然把MIDlet封裝進(jìn) java檔案文件(JAR)并不一定必要,但這是發(fā)布 J2ME/MIDP應(yīng)用程序最常見的方法。MIDlet套件是一個(gè)MIDlet中所有的文件以及作為 MIDlet一部分的必需的資源的集合。MIDlet套件由以下幾部分組成:
  
  1、附在JAR文件中的 Java類文件,
  
  2、描述 JAR文件內(nèi)容的清單文件(MANIFEST.MF)
  
  3、附在 JAR文件中的資源(如圖象)和Java應(yīng)用程序描述符文件(JAD)
  
  4、應(yīng)用程序治理器
  
  應(yīng)用程序治理器是一個(gè)移動(dòng)設(shè)備上的軟件程序,這個(gè)應(yīng)用程序與具體的設(shè)備有關(guān),并且由設(shè)備的生產(chǎn)商實(shí)現(xiàn)。它負(fù)責(zé)安裝、運(yùn)行以及從設(shè)備上刪除 MIDlet,而提供錯(cuò)誤處理支持。這個(gè)應(yīng)用程序治理器同時(shí)還提供一個(gè)可選界面,答應(yīng)用戶啟動(dòng)、終止以及刪除 MIDlet。
  
  二、Jar文件
  
  一個(gè)商品化的、封裝過應(yīng)用程序通常由許多文件構(gòu)成。除了 Java類以外,其他文件諸如圖像和應(yīng)用程序數(shù)據(jù)即通常所說(shuō)的資源,也可能是這個(gè)程序包的一部分。你把所有這些信息捆綁進(jìn)一個(gè)整體,就稱為 JAR文件。
  
  除了類和資源文件,一個(gè) JAR文件還包括描述 JAR內(nèi)容的清單文件。清單文件名為 manifest.mf,儲(chǔ)存在 JAR文件本身中,下面這張表中列出定義在這個(gè)清單文件中的所有可用的屬性。
  
  表 1
  
  屬性            用途
  MIDlet-Name MIDlet程序包的名稱。例如“Game Pack”MIDlet-Version MIDlet的版本號(hào)
  MIDlet-Vendor MIDlet的創(chuàng)建者或提供商
  MIDlet-Icon 應(yīng)用程序治理器把這個(gè)圖標(biāo)與 MIDlet-Name相關(guān)聯(lián),這是一個(gè)圖形文件,以 PNG圖象格式儲(chǔ)存。
  MIDlet-Description 描述 MIDlet的文本MIDlet-Info-URL 可能提供更多MIDlet和/或供給商信息的 URL
  注重:下面的“MIDlet-x”屬性可以使用多次來(lái)聲明jar文件中的多個(gè)MIDlet。
  其中x為MIDlet的編號(hào)。
  “MIDlet-x”屬性包括三段信息: MIDlet名稱, 用于這個(gè) MIDlet的圖標(biāo)(可選), 應(yīng)用程序治理器將調(diào)用來(lái)加載這個(gè) MIDlet的類名。
  在我們的“ Game Pack”例子中,有兩個(gè)條目: MIDlet-1: KOF, /images/kof.png, kof.kofMIDlet MIDlet-2: Golf, /images/golf.png, golfMIDletMIDlet-Jar-URL JAR文件的 URLMIDlet-Jar-Size JAR文件的大小
  MIDlet-Data-Size 持久數(shù)據(jù)存儲(chǔ)必需的最小字節(jié)數(shù)
  MicroEdition-PRofile MIDlet需要哪一種 J2ME簡(jiǎn)表
  MicroEdition-Configuration MIDlet需要哪一種 J2ME配置
  
  這些屬性并不是全部都需要,可是,沒有下面列出的這六個(gè),應(yīng)用程序治理器就會(huì)拒絕加載這個(gè) JAR。
  
  MIDlet-Name
  MIDlet-Version
  MIDlet-Vendor
  MIDlet-
  MicroEdition-Profile
  MicroEdition-Configuration
  
  這里有一個(gè)簡(jiǎn)單的清單文件的例子:
  MIDlet-Name: KOF2001
  MIDlet-Version: 1.0
  MIDlet-Vendor: NeoRage Corporation Inc.
  MIDlet-1: kof, /images/kof.png, kof.kofMIDlet
  MicroEdition-Profile: MIDP-1.0
  MicroEdition-Configuration: CLDC-1.0
  
  三、Java應(yīng)用程序描述器文件(JAD)
  
  雖然沒有必要,你仍然可以在 JAR文件中包含一個(gè) JAD文件,就像清單文件一樣,這個(gè)文件也包含 MIDlet的信息。創(chuàng)建一個(gè) JAD文件是基于兩個(gè)原因。
  
  1、向應(yīng)用程序治理器提供信息,說(shuō)明 JAR文件的內(nèi)容,使用這些信息,就可以判定一個(gè) MIDlet是否適合運(yùn)行在這個(gè)設(shè)備上。例如,通過查看屬性 MIDlet-Data-Size,應(yīng)用程序治理器可以確定 MIDlet是否需要比設(shè)備可以提供的更多的內(nèi)存。
  
  2、提供一種方法,可以把參數(shù)傳送到 MIDlet而不必更改 JAR文件,在本文的后半段我們將看一個(gè)這樣的例子。
  
  JAD文件使用表 1中相同的屬性。假如你需要?jiǎng)?chuàng)建你自己的屬性,也可以辦得到,只要使用不以 MIDlet為開頭的屬性名就可以了,下面的 showProperties.jad文件就是自定義屬性的例子。和清單文件一樣,有某些屬性必須被定義,假如這些屬性不可用的話,應(yīng)用程序治理器將不加載這個(gè) MIDlet,它們是:
  
  MIDlet-Name
  MIDlet-Version
  MIDlet-Vendor
  MIDlet-
  MIDlet-Jar-URL
  MIDlet-Jar-Size
  
  MIDlet-Name、MIDlet-Version和MIDlet-Vendor的值必須與 JAR中的清單文件中相同的屬性的值一致。可能看出,假如在這兩個(gè)文件有什么不同的話,申請(qǐng)治理器不也會(huì)加載這個(gè) JAR。
  
  除了這些屬性以外,假如兩個(gè)文件中的另外名稱相同的屬性,但是屬性值不相同的,將優(yōu)先采取應(yīng)用程序描述器文件 ( JAD )屬性。
  
  MIDP 1.0規(guī)范沒有規(guī)定 MIDlet-n屬性是 JAD文件的必需屬性。可是,沒有這個(gè)屬性,就沒有辦法在設(shè)備模擬器中預(yù)覽 MIDlet。在兩個(gè)文件中包含這個(gè)屬性沒有問題,并且事實(shí)上,那么做可以更清楚看出這些文件是怎樣關(guān)聯(lián)的。因此,出于完整性考慮,這里的所有離子都將在JAD文件中包含MIDlet-n屬性。因此,出于完整性考慮,這里的全部例子都將在 JAD文件中包含 MIDlet-n屬性。
  
  下面是一個(gè)非常簡(jiǎn)單的例子:
  
  MIDlet-Name: Note Pad
  MIDlet-Version: 1.0
  MIDlet-Vendor: ABC WorkGroup.
  MIDlet-Jar-URL: http://www.abcworkgroup.com/MIDlets/notepad.jar
  MIDlet-Jar-Size: 26248
  MIDlet-1: NotePad, /images/NotePad.png, NotePad.Main
  
  四、從MIDlet中訪問 JAR/JAD屬性
  
  一個(gè)MIDlet程序可以訪問所有的定義在清單文件(在JAR文件中)和JAD文件的屬性。返回屬性信息的方法及所在的完整的程序包名是 javax.microedition.midlet.MIDlet.getAppProperty(String name)
  
  下面是一個(gè)例子,從jar/jad文件中讀出并打印屬性值。
  
  showProperties.jar中的 manifest.mf文件的內(nèi)容如下:
  MIDlet-Name: Show Properties
  MIDletMIDlet-Version: 1.0.1MIDlet-Vendor: ABC WorkGroup.MIDlet-1: ShowProps, , showPropertiesMicroEdition-Profile: MIDP-1.0MicroEdition-Configuration: CLDC-1.0MIDlet-Description: A simple property list exampleMIDlet-Data-Size: 1500
  
  showProperties.jad的內(nèi)容:
  MIDlet-Name: Show Properties MIDletMIDlet-Version: 1.0.1MIDlet-Vendor: ABC WorkGroup.MIDlet-Jar-URL: file://showProperties.jarMIDlet-Jar-Size: 1132MIDlet-1: ShowProps, , showPropertiesJadFile-Version: 1.5MIDlet-Data-Size: 500
  
  showProperties.java的源程序:
  import javax.microedition.midlet.*;
  public class showProperties extends MIDlet{ public void startApp() throws MIDletStateChangeException{
  System.out.println("Vendor: " + getAppProperty("MIDlet-Vendor"));
  System.out.println("Description: " + getAppProperty("MIDlet-Description"));
  System.out.println("JadFile Version: " + getAppProperty("JadFile-Version"));
  System.out.println("MIDlet-Data-Size: " + getAppProperty("MIDlet-Data-Size"));
  };
  public void pauseApp(){ };
  public void destroyApp(boolean unconditional){ };
  }
  
  下面這些是一些比較重要的地方:
  
  manifest.mf文件作為 JAR文件 showProperties.jar的一部分儲(chǔ)存的。
  
  JAD文件showProperties.jad使用MIDlet-Jar-URL: file://showProperties.jar 引用showProperties.jar。
  
  當(dāng)你瀏覽這個(gè) JAD文件的時(shí)候,它使用上面那個(gè)命令找出相關(guān)聯(lián)的 JAR文件并讀取清單文件的內(nèi)容。
  
  屬性MIDlet-Name、MIDlet-Version和MIDlet-Vendor 既在 JAR中的清單文件中又在 JAD文件中,這些屬性的值都必須完全相同。
  
  MIDlet-Description屬性來(lái)自清單文件,是可選的。
  
  JadFile Version屬性不在表 1中,因此它是一個(gè)自定義屬性。因?yàn)?JAD文件內(nèi)的屬性可從MIDlet訪問,所以你可以不用改變 JAR文件而添加屬性到 JAD中。
  
  屬性 MIDlet-Data-Size在清單文件和 JAD文件中都有,就像前面指出的那樣,當(dāng)兩個(gè)文件中有完全相同的屬性時(shí), JAD文件中的屬性將使用。切記這不適用于MIDlet-Name、MIDlet-Version和MIDlet-Vendor。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平遥县| 江西省| 望城县| 海淀区| 景洪市| 崇信县| 宜都市| 闸北区| 龙南县| 仁化县| 河东区| 永清县| 兴文县| 富源县| 湖北省| 诏安县| 宁河县| 夹江县| 太湖县| 永寿县| 邹平县| 昂仁县| 化德县| 内乡县| 噶尔县| 深水埗区| 兴安县| 泸水县| 苍溪县| 平顶山市| 九江县| 抚顺市| 锡林郭勒盟| 临城县| 车险| 乡城县| 壶关县| 调兵山市| 铅山县| 德化县| 即墨市|