- J2ME手機游戲設(shè)計與開發(fā)
- 劉暢 張旭輝編著
- 6字
- 2019-01-01 07:08:46
2.1 建立J2ME項目
2.1.1 創(chuàng)建MIDlet套件
MIDlet應(yīng)用模型的一個核心目標(biāo)就是,盡可能地使多個可以同時運行的MIDlet之間共享數(shù)據(jù)和資源。為了完成這樣的目標(biāo),MIDP規(guī)范要求:需要共享數(shù)據(jù)和交互的MIDlet必須放在同一個JAR文件里面。這個封裝起來的MIDlet集合就被稱為MIDlet套件(MIDlet Suite)。
每個MIDlet套件都至少要有一個擴展了MIDlet類的主類。JAR清單文件標(biāo)志了套件中的每個MIDlet及它們的名稱和圖標(biāo)。MIDlet是由應(yīng)用管理軟件所啟動的實體,當(dāng)某個MIDlet套件被調(diào)用時,需要Java 虛擬機的支持才能執(zhí)行相應(yīng)的類。應(yīng)用管理軟件生成這個MIDlet的一個新實例,用來引導(dǎo)這個MIDlet啟動、暫停和銷毀。
MIDlet之間的數(shù)據(jù)和其他信息的共享由相應(yīng)的API及它們的實現(xiàn)來控制,例如記錄存儲系統(tǒng)(RMS)API,當(dāng)屬于某個MIDlet套件的記錄存儲被套件中多個MIDlet共享時,就需要使用這些API。
為了保護MIDlet套件提供者的安全及實現(xiàn)數(shù)據(jù)共享,在MIDlet套件中的MIDlet、類和單獨的文件不能夠被單獨地安裝、更新或者刪除,它們必須強制成為一體。換句話說,在MIDP中,安裝、更新和刪除的基本單元就是MIDlet套件。
使用新建項目向?qū)Вx擇J2ME中的“J2ME Midlet Suite”命令來創(chuàng)建一個EclipseME項目,如圖2-1所示。
向?qū)У牡谝粋€界面和標(biāo)準(zhǔn)Java項目一致,設(shè)置項目的名字,以及項目的存儲位置,如圖2-2所示。
這里的項目在操作系統(tǒng)下的表現(xiàn)就是一個文件夾,所以命名時可以采用英文也可以使用數(shù)字等其他字符,但是要注意在同一個命名空間中不可以有同名的項目,這點與文件夾的建立相似。

圖2-1 建立MIDlet套件

圖2-2 “New J2ME Project”設(shè)置向?qū)?/p>
在第2個界面里,從可用的設(shè)備定義中選擇一個模擬器,用于編譯、運行和調(diào)試項目。若有必要,以后可以在項目屬性中改變這個設(shè)定。另外,在這個界面中,也可以改變項目的JAD文件的默認(rèn)位置,JAD文件必須相對于項目的根目錄來創(chuàng)建。創(chuàng)建項目之后也可以在包資源管理器中使用重構(gòu)(重命名或移動)來修改JAD文件位置,如圖2-3所示。
最后的界面可以調(diào)整源文件設(shè)置,相關(guān)的項目和庫等,如圖2-4所示。這是Eclipse的標(biāo)準(zhǔn)設(shè)置界面。如果項目需要外部的類庫,只要把相應(yīng)的JAR文件添加到“庫”這個面板的列表中就可以了。EclipseME會自動把這些JAR文件和class文件一起進行管理。

圖2-3 模擬器選擇

圖2-4 源文件設(shè)置
完成了上面的步驟之后,在工作空間里就可以看到下面如圖2-5所示的一個項目。

圖2-5 項目文件夾
2.1.2 MIDlet套件項目文件介紹
MIDlet套件簡單理解就是MIDlet程序的一個集合。它包含了一個或多個MIDlet、資源文件及JAR manifest文件。在EclipseME里面創(chuàng)建了一個MIDlet套件其實就是相當(dāng)于創(chuàng)建了一個Java Project一樣。
MIDlet套件是一個MIDlet中所有的文件及作為 MIDlet一部分的必需的資源的集合。MIDlet套件由以下幾部分組成:
·附在JAR文件中的Java類文件;
·描述JAR文件內(nèi)容的清單文件(mainifest.mf);
·附在JAR文件中的資源(如圖像)和Java應(yīng)用程序描述器文件(JAD);
·應(yīng)用程序管理器。
1.mainifest.mf清單文件
根據(jù)MIDP規(guī)范的規(guī)定,每個套件的JAR文件中必須包含一個名為mainifest.mf的文件。這個其實就是Java里面的.mf文件了。它包含了一些屬性,如表2-1所示。
表2-1 mainifest文件內(nèi)容屬性
表2-1中這些屬性并不是全部都需要的,可是如果沒有列出下面6個屬性值,應(yīng)用程序管理器就會拒絕加載這個JAR。
MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-(序號) MicroEdition-Profile MicroEdition-Configuration
下面是一個簡單的屬性清單文件的例子:
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
2.Java應(yīng)用程序描述器文件(JAD)
在有些設(shè)備上面并不一定要求JAM(應(yīng)用程序管理器)上面要有JAD描述器文件。在MIDP 2.0中JAD描述器文件涉及了許多安全方面的問題,所以就顯得非常重要了。一般在下載JAR文件前會先下載JAD描述器文件,為的是讓設(shè)備了解這個套件是否適合自己。
雖然沒有必要,仍然可以在JAR文件中包含一個JAD文件,就像清單文件一樣,這個文件中也包含MIDlet的信息。創(chuàng)建一個JAD文件是基于以下兩個原因的。
(1)向應(yīng)用程序管理器提供信息,說明JAR文件的內(nèi)容,使用這些信息,就可以判斷一個MIDlet是否適合運行在這個設(shè)備上。例如,通過查看屬性MIDlet-Data-Size,應(yīng)用程序管理器可以確定MIDlet是否需要此設(shè)備可以提供的更多的內(nèi)存。
(2)提供一種方法,可以把參數(shù)傳送到MIDlet而不必更改JAR文件。
和清單文件一樣,某些屬性必須被定義,如果這些屬性不可用,則應(yīng)用程序管理器將不加載這個MIDlet,它們是:
MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-(序號) MIDlet-Jar-URL MIDlet-Jar-Size
MIDlet-Name、MIDlet-Version和MIDlet-Vendor的值必須與JAR中的清單文件中相同的屬性的值一致。如果在這兩個文件有什么不同,申請管理器不會加載這個JAR。
除了這些屬性以外,如果兩個文件中的另外名稱具有相同的屬性,但是屬性值不相同的,將優(yōu)先采取應(yīng)用程序描述器文件(JAD)屬性。
MIDP 1.0規(guī)范沒有規(guī)定MIDlet-n屬性是JAD文件的必需屬性。可是,沒有這個屬性,就沒有辦法在設(shè)備模擬器中預(yù)覽MIDlet。因此,出于完整性考慮,應(yīng)該在JAD文件中包含MIDlet-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
- 控制與決策系統(tǒng)仿真
- Cloud Analytics with Microsoft Azure
- 永磁同步電動機變頻調(diào)速系統(tǒng)及其控制(第2版)
- 數(shù)據(jù)庫系統(tǒng)原理及應(yīng)用教程(第5版)
- 具比例時滯遞歸神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性及其仿真與應(yīng)用
- 基于企業(yè)網(wǎng)站的顧客感知服務(wù)質(zhì)量評價理論模型與實證研究
- 啊哈C!思考快你一步
- Mastering Text Mining with R
- 寒江獨釣:Windows內(nèi)核安全編程
- Win 7二十一
- Mastering Android Game Development with Unity
- 電機與電力拖動
- INSTANT R Starter
- Modern Big Data Processing with Hadoop
- 服務(wù)器配置與應(yīng)用(Windows Server 2008 R2)