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

圖2-1 建立MIDlet套件

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

圖2-3 模擬器選擇

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

圖2-5 項目文件夾
2.1.2 MIDlet套件項目文件介紹
MIDlet套件簡單理解就是MIDlet程序的一個集合。它包含了一個或多個MIDlet、資源文件及JAR manifest文件。在EclipseME里面創建了一個MIDlet套件其實就是相當于創建了一個Java Project一樣。
MIDlet套件是一個MIDlet中所有的文件及作為 MIDlet一部分的必需的資源的集合。MIDlet套件由以下幾部分組成:
·附在JAR文件中的Java類文件;
·描述JAR文件內容的清單文件(mainifest.mf);
·附在JAR文件中的資源(如圖像)和Java應用程序描述器文件(JAD);
·應用程序管理器。
1.mainifest.mf清單文件
根據MIDP規范的規定,每個套件的JAR文件中必須包含一個名為mainifest.mf的文件。這個其實就是Java里面的.mf文件了。它包含了一些屬性,如表2-1所示。
表2-1 mainifest文件內容屬性
表2-1中這些屬性并不是全部都需要的,可是如果沒有列出下面6個屬性值,應用程序管理器就會拒絕加載這個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應用程序描述器文件(JAD)
在有些設備上面并不一定要求JAM(應用程序管理器)上面要有JAD描述器文件。在MIDP 2.0中JAD描述器文件涉及了許多安全方面的問題,所以就顯得非常重要了。一般在下載JAR文件前會先下載JAD描述器文件,為的是讓設備了解這個套件是否適合自己。
雖然沒有必要,仍然可以在JAR文件中包含一個JAD文件,就像清單文件一樣,這個文件中也包含MIDlet的信息。創建一個JAD文件是基于以下兩個原因的。
(1)向應用程序管理器提供信息,說明JAR文件的內容,使用這些信息,就可以判斷一個MIDlet是否適合運行在這個設備上。例如,通過查看屬性MIDlet-Data-Size,應用程序管理器可以確定MIDlet是否需要此設備可以提供的更多的內存。
(2)提供一種方法,可以把參數傳送到MIDlet而不必更改JAR文件。
和清單文件一樣,某些屬性必須被定義,如果這些屬性不可用,則應用程序管理器將不加載這個MIDlet,它們是:
MIDlet-Name MIDlet-Version MIDlet-Vendor MIDlet-(序號) MIDlet-Jar-URL MIDlet-Jar-Size
MIDlet-Name、MIDlet-Version和MIDlet-Vendor的值必須與JAR中的清單文件中相同的屬性的值一致。如果在這兩個文件有什么不同,申請管理器不會加載這個JAR。
除了這些屬性以外,如果兩個文件中的另外名稱具有相同的屬性,但是屬性值不相同的,將優先采取應用程序描述器文件(JAD)屬性。
MIDP 1.0規范沒有規定MIDlet-n屬性是JAD文件的必需屬性。可是,沒有這個屬性,就沒有辦法在設備模擬器中預覽MIDlet。因此,出于完整性考慮,應該在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
- 大數據管理系統
- Canvas LMS Course Design
- 影視后期制作(Avid Media Composer 5.0)
- Learning Social Media Analytics with R
- 21天學通C++
- Expert AWS Development
- Hands-On Cybersecurity with Blockchain
- Photoshop CS3特效處理融會貫通
- JSP從入門到精通
- Mastering Game Development with Unreal Engine 4(Second Edition)
- 電子設備及系統人機工程設計(第2版)
- Learning ServiceNow
- INSTANT Adobe Story Starter
- AMK伺服控制系統原理及應用
- Hands-On Geospatial Analysis with R and QGIS