JBuilder MobileSet是一個開放工具,能夠與其它供應商提供的J2ME開發(fā)工具包集成在一起,當前提供了對下列廠商工具包的支持:
Sun提供的J2ME無線開發(fā)工具包1.0.3版(J2MEWTK)
諾基亞的J2ME開發(fā)套件(http://forum.nokia.com)
西門子的SMTK開發(fā)工具包(http://www.siemens-mobile.de)
其中J2MEWTK已經(jīng)包含在MobileSet 2的安裝文件中,如果要使用J2MEWTK提供的開發(fā)類庫,并且還沒有安裝J2MEWTK,可以在安裝MobileSet 2時選擇完全安裝。MobileSet 2提供了下列輔助開發(fā)的工具:
用于CLDC/MIDP類的CodeInsight工具
類/包瀏覽器
JDK轉換工具
動態(tài)適配到任何J2ME簡表,包括MIDP
和開發(fā)其它Java應用程序一樣,JBuilder通過MobileSet提供了快速開發(fā)模板,包括MIDP項目模板,MIDP Displayable模板,MIDlet模板。它提供了RAD(快速應用開發(fā))的可視設計器,支持MIDP UI元素。通過MobileSet還支持MIDP應用程序打包和OTA配置(Over the Air,上載和下載文件和MIDlet套件,用來配置應用程序到設備上)。
MobileSet能夠用在JBuilder的個人版、專家版和企業(yè)版,但是一些功能不能用在個人版如JDK設置切換,打包器等。
3.2 配置JDK
前面已提到編譯MIDP應用程序時需要設置特定的CLDC/MIDP類庫,以避免使用默認的J2SE類庫,在JBuilder中同樣要進行類似設置。這是通過JDK配置選項實現(xiàn)的,JBuilder的設計獨立于JDK,盡管每個JBuilder版本發(fā)布時會默認安裝一個當時較新的JDK(類庫),但還可以通過它的配置機制設置其它JDK,包括舊版本、更新版本或者OEM版的JDK,從而實現(xiàn)了JBulder的擴展性。
專家版和企業(yè)版的JBuilder可同時配置多個JDK,根據(jù)需要設置其中一個為默認即可,而個人版的卻要在需要時重新配置每個JDK。安裝MobileSet后可選擇安裝J2MEWTK、諾基亞和西門子的JDK,然后為設置的每個JDK自定義一個名稱,并把其主目錄指向這個JDK中\(zhòng)bin的父目錄,需要注意的是JDK目錄中不能有空格如c:\Program Files\ J2mewtk。
3.3 MIDP項目
JBuilder開發(fā)都以項目概念為中心,項目文件包含一個(屬于這個項目的)文件列表以及項目屬性,其中項目屬性包括項目模板、缺省路徑、類庫和連接配置等,JBuilder使用這些信息加載、保存、編譯和運行項目。使用Jbuilder開發(fā)環(huán)境添加、移除文件,或者設置、更改項目屬性都會更改項目文件。可以在項目面板中看到項目文件作為主節(jié)點顯示。
生成項目的便捷方式是使用項目模板工具,可用來設置項目名稱、類型和模板,以及JDK、工作目錄、備份路徑和編譯輸出路徑等。其中項目類型可選擇.jpx或者.jpr,二者內(nèi)容一樣,區(qū)別是前者使用XML格式文件,因此適合于共享的項目。
而JDK則是前面所設置中的一個,并且只有選擇CLDC/MIDP的JDK才能使用Object Gallery中的Micro選項。每個項目至少一個MIDlet主類,所以首先應使用MIDlet模板生成一個MIDlet主類。通過模板可以設置這個主類的類名、標題、屏幕類型和命令處理方式,其中屏幕類型有4個選擇:
(javax.microedition.lcdui.)Canvas、Form、List、TextBox,只有Form的擴展類才能添加其它的組件(Item的子類)。命令處理方式也有4個選擇:
?、? -- 通過其它的類設置commandListener,比如MIDlet類。
?、? Interface implementation -- 生成一個類并在類中實現(xiàn)commandListener接口,這種方式生成的類的大小會比適配器方式生成的小。
?、? Standard adapter -- 這種方式生成的代碼采用標準適配器的形式:
class Foo { private void jbInit() { addListener(new Adapter(this)); } } class Adapter { ... } |
?、? Anonymous adapter -- 這種方式生成的代碼采用匿名適配器的形式:
class Foo { private void jbInit() { addListener(new Listener() { ... }); } } |
后兩種適配器形式可以通過項目屬性"Code Style"設置。如果要在這個MIDP應用程序中添加更多的屏幕,可以使用Displayable模板添加,或者通過MIDlet模板添加更多的MIDP應用程序到項目中。
生成應用程序框架后,就可根據(jù)本文第2部分要求添加所需代碼,并使用JBuilder提供的便捷方式進行編譯(預驗證)、打包、模擬運行和發(fā)布,JBuilder提供有內(nèi)置web服務器和ftp服務器,以方便開發(fā)者測試應用程序的發(fā)布。
如果使用MIDlet或Displayable模板生成一個Form類型的Displayable對象,則可以使用JBuilder的"MIDP設計器"定制用戶界面,即從組件板上以拖拉方式生成UI元素,可用鼠標調(diào)整這些元素的位置或者進行復制、刪除等操作,這就是JBuilder強大功能之所在。
如果是使用模板生成Displayable類,會自動生成jbInit()方法,當在Form中添加UI元素時,設計器會把代碼添加進jbInit()方法。如果希望打開一個現(xiàn)有Displayable類到設計器,它已經(jīng)有UI元素,但是沒有jbInit()方法,首先需要生成一個jbInit()方法,然后把所有的UI元素轉移進去。