<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    空間站

    北極心空

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks
    搭建開發平臺―WTK

    來自:J2MEDev yefeng17

    本文主要講述J2ME新手最常使用的開發工具Wireless Toolkit(WTK)。從WTK的安裝、到MIDlet項目的創建、以及最后的打包發布,一步步帶領讀者進入MIDlet的開發世界!

    1 什么是J2ME Wireless Toolkit
    WTK 的全稱是Sun J2ME Wireless Toolkit ―― Sun的無線開發工具包。這一工具包的設計目的是為了幫助開發人員簡化j2me的開發過程。使用其中的工具可以開發與 Java Technology for the Wireless Industry (JTWI, JSR 185) 規范兼容的設備上運行的j2me 應用程序。該工具箱包含了完整的生成工具、實用程序以及設備仿真器。到本文寫作時為止可以獲取有四個版本,分別是1.0.4, 2.0, 2.1和2.2。每個版本都包括英語,日語,簡體中文,繁體中文4個語種包。

    1.0.4版只能夠開發MIDP1.0 應用程序。
    2.0版只能夠開發MIDP2.0 應用程序。
    2.1版則可以同時開發MIDP1.0、 JTWI(CLDC 1.0, MIDP2.0, WMA1.1)可改用CLDC1.1或加入MMAPI1.1),自定義(自己隨機組合Configuration, Profile以及Optional Package)三種環境下的應用程序。
    2.2版中,WTK全面的支持JTWI規范。具體的說,即MIDP 2.0, CLDC 1.1, WMA 2.0, MMAPI 1.1, Web Services (JSR 172), File and PIM APIs (JSR 75), Bluetooth and OBEX APIs (JSR 82), and 3D Graphics (JSR 184);同時您也可以使用該版本開發面向CLDC1.0 和MIDP1.0的應用程序。


    系統要求上,WTK2.2至少需要50MB可用硬盤,128MB系統RAM和800MHZ Pentium III CPU。

    你可以在sun的官方網站免費下載。

    WTK2.2 下載鏈接:http://java.sun.com

    WTK是Sun提供的一個開發工具包。目前各大手機廠商往往把WTK經過自身的簡化與改裝,推出適合自身產品,如SonyEricsson,Nokia Developer’s suit等,都屬于此種類型;而通過JBuilder, Eclipse等IDE,J2ME開發包工具可以被綁定在這些集成開發環境中,進一步提高開發效率。

    2 J2ME WTK的內容和目錄結構

    2.1 安裝過程
    在說明WTK文件結構之前,讓我們首先把它安裝起來。

    WTK的安裝程序與普通程序一樣簡單,只有一點需要注意,由于WTK自身并沒有附帶Java的運行環境JDK,所以,在WTK安裝之前你需要安裝自己的JDK(我們這里選用的是JDK1.4.2)。

    WTK會首先自動檢測當前系統已有的Java虛擬機:

    image

    然后顯示出當前虛擬機所在路徑


    image

    您在確定無誤后,就可以繼續了,最后安裝成功后,您將得到一個包括多種實用工具的開發包。以下是安裝顯示的菜單項。


    image

    2.2 目錄結構
    無論哪個版本的WTK都會包括以下幾個目錄:

    appdb目錄: RMS數據庫信息

    apps目錄: WTK自帶的demo程序

    bin目錄: J2ME開發工具執行文件

    docs目錄: 各種幫助與說明文件

    lib目錄: J2ME程序庫,Jar包與控制文件

    session目錄:性能監控保存信息

    wtklib目錄: JWTK主程序與模擬器外觀



    WTK是用來開發MIDP的,為了讓MIDlet可以順利編譯和執行,WTK必須具有CLDC和MIDP的類庫,WTK可以幫助我們省去額外安裝調試這些類庫的時間。而不同版本的WTK包含的程序庫內容是不一樣的,比如說2.0中包含了midpapi.jar, wma.jar, mmapi.jar,而在2.1中則變為了cldcapi10. jar, cldcapi11.jar, midpapi10.jar, midpapi20.jar, wma.jar以及mmapi.jar;在2.2中,wma.jar又細分為wma11.jar, wma20.jar。如果您在開發中需要某個特定的jar包而當前的WTK版本又沒有時,您可以簡單把這個jar包拷貝如當前WTK的lib文件夾即可。

    apps目錄中包括了許多Demo程序,為我們演示了J2ME的一些技術實例,這些往往是很好的學習材料。


    3 使用J2ME WTK創建工程
    3.1 建立新項目
    下面讓我們用WTK來創建一個經典的Hello World程序,看看這水有多深。

    在WTK的程序列表中運行KToolbar,打開WTK主界面。WTK的標題菜單簡單明了的列出了這個工具包的可選功能。

    單擊新建項目,鍵入新建的項目名和啟動MIDlet名,這里的項目是一個MIDlet套件,而MIDlet類名則是這個套件的入口,MIDlet文件名(也是Java文件的名字)。


    image

    產生項目以后,會出現項目的設置表,您可以選擇當前目標平臺,CLDC配置,以及要采用的MIDP可選包。再不需要某個庫文件時,請不要選中它,以減少最后程序大小。

    另外,您還可以指定MIDlet的屬性,這些設置將成為JAD,即J2ME程序的描述信息文檔。我們的Hello World目前不需要其它的附加設置,于是采用默認,確定之后,控制臺信息提示建立成功。


    image


    image

    WTK產生項目后,不同類型的資源有著相對固定的存放位置。Java源文件被放在apps目錄下\Hello World\src下,相關程序資源文件(圖片,音頻)放在\Hello World\res下,應用程序庫文件放在\Hello World\lib下,這在WTK中是必須注意的,即便是相對路徑,也必須是在該類型目錄下建立。

    項目創建成功后,我們來創建一個MIDlet文件,MIDlet是J2ME項目文件的入口文件,也是必須的。在\Hello World\src目錄下創建HelloWorld.java,采用默認包,注意,此時創建的java程序必須是與我們在創建項目時鍵入的MIDlet類名一致。

    在新創建的java文件中輸入代碼,下文是一個簡單的Form程序。

    HelloWorld.java

    import javax.microedition.lcdui.*;

    import javax.microedition.midlet.MIDlet;



    public class HelloWorld extends MIDlet {



    Display display;



    public HelloWorld() {

    super();

    display = Display.getDisplay(this);

    }



    protected void startApp(){

    Form form = new Form("Hello World!");

    form.append("Welcome to J2ME world!");

    display.setCurrent(form);

    }



    protected void pauseApp() {



    }



    protected void destroyApp(boolean arg0){



    }

    }



    完成后保存java文件,單擊“生成”按鈕,由WTK為您進行編譯,如果有錯誤生成,則會在控制臺中提示。


    image

    根據提示信息對MIDlet文件進行修改,再重新生成,直到編譯成功。對編譯成功的程序,你可以從“設備”選項中選擇DefaultColorPhone,DefaultGrayPhone或者其它WTK自帶的設備模擬器,單擊按鈕可以看到彈出一個手機模擬器,顯示出我們的第一個Hello World程序,如果執行有錯,依然會在控制臺中給出提示信息。


    image

    運行成功以后,在HelloWorld/bin目錄下,將會產生一個程序描述文檔JAD,它清楚的描述了當前MIDlet的名稱與版本,發行人,指定的JAR包名稱與大小,支持CLDC與MIDP版本等信息。在進階開發中,默認的聯網字符串,簽名私鑰等信息也可以保存在這個描述文檔中。


    3.2 開啟舊項目
    當我們下一次重新啟動WTK的時候,選擇打開項目,WTK會把自身apps目錄下的應用項目全部顯示出來,包括我們剛剛建立的Hello World,選擇“打開項目”后,就能夠對apps目錄下的MIDlet項目進行開發更改了。


    image

    4 執行MIDlet、打包和混淆
    4.1 執行MIDlet
    除了我們剛剛介紹的在KToolbar中執行一個程序,我們還可以在程序組中直接選擇Run MIDP Application…, 這是就可以在彈出的對話框中選擇其它路徑中的JAD程序運行了


    image


    image

    當我們直接選擇運行時,需要注意兩個問題:

    1. JAD描述文件與其指定的JAR文件在同一個目錄下。

    2. 運行目錄路徑中不要包含中文。

    4.2 打包成JAR
    KToolbar的生成功能只能幫我們將源代碼編譯并預先審核,并不會幫我們產生JAR文件,而我們如果要發布MIDP程序,除了JAD描述文件,JAR是必須的,這就需要打包。

    在KToolbar選中項目 ―― 包 ―― 產生包,可以把整個程序,包括資源文件打包成JAR文件。形成的JAR保存在apps\HelloWorld\bin目錄下。



    image

    4.3 包混淆
    在上面的操作中,我們看到,除了“產生包”,另外還有一個“產生混淆包”選項。所謂混淆,是為了防止別人反編譯后讀取源代碼,將程序(.class文件)進行混淆,經過混淆的Java Byte Code可以增加別人反編譯的時間。

    這里我們使用開源的ProGuard,關于混淆的詳細介紹和混淆工具的下載,見本教程的前面的章節。

    把剛剛獲取的ProGuard解壓,在解壓目錄的lib子目錄中找到proguard.jar文件,將其拷貝到WTK安裝目錄的bin下,再執行混淆包。這是我們將會發現apps\HelloWorld\bin下的JAR大小變小了,反編譯后的各個名稱也變得毫無意義了。



    image

    5 WTK中其它值得關注的功能
    到這里,我們就如何用WTK創建,執行,打包,混淆一個MIDP項目做了比較詳細的介紹。除了以上所說各點,WTK(2.2版)還提供諸多實用功能。這些都可以在編輯 ―― 偏好中找到。


    image
    image

    例如,當我們需要監視程序性能的時候,可以選中“啟用內存監視器”,在下一次模擬器執行的時候,我們就可讀出程序運行時的內存消耗均值,消耗峰值以及具體產生對象的個數和使用情況。

    除了內存監視,我們還可以執行網絡監視,設定存儲區大小和堆棧大小,設定安全簽名和藍牙操作屬性,以盡可能模擬手機實際運行環境,這些功能在進階開發中都是非常實用的。

    注意:
    雖然WTK為我們提供了各種工具來模擬手機運行環境,但在實際開發中,由于受到手機硬件,網絡條件等諸多限制,MIDP的真實性能在不同機器上會出現不同的反應,與WTK中的表現可能差別更大。

    從菜單中選擇“工具集”可以看到更多的實用工具,這些都是開發實用的j2me程序時會頻繁使用到的。介于本教程面向入門級讀者,所以這部分內容請讀者自行研究.


    image


    posted on 2007-07-27 15:49 蘆葦 閱讀(624) 評論(0)  編輯  收藏 所屬分類: IDEJAVA
    主站蜘蛛池模板: 狼人大香伊蕉国产WWW亚洲| 97无码人妻福利免费公开在线视频 | 亚洲精品成人久久| 日韩成人免费aa在线看| aa级毛片毛片免费观看久| 亚洲国产成人手机在线电影bd| 国产伦精品一区二区三区免费迷| 成人毛片100免费观看| 色老板亚洲视频免在线观| 国产精品亚洲二区在线观看| 99国产精品免费观看视频| 狼人大香伊蕉国产WWW亚洲| 亚洲黄色在线播放| 亚洲精品人成无码中文毛片| 18禁无遮挡无码国产免费网站| 国产亚洲精品美女久久久久| 久久亚洲国产成人精品性色| 夜色阁亚洲一区二区三区| 永久看日本大片免费35分钟| 亚欧洲精品在线视频免费观看 | 91免费福利视频| 亚洲国产精品成人AV在线| 无码专区—VA亚洲V天堂| 国产一级做a爱免费视频| 999久久久免费精品国产| 国产免费阿v精品视频网址| 国产精品亚洲精品久久精品| 亚洲视频在线观看网站| 中文字幕在线亚洲精品| 日韩一区二区免费视频| 成人免费视频77777| 久久免费国产视频| 中国人免费观看高清在线观看二区| 亚洲色中文字幕在线播放| 亚洲黄色在线视频| 亚洲成a人片在线观看无码| 亚洲精品第一国产综合境外资源| 在线免费观看污网站| 免费毛片a在线观看67194| 人妻无码久久一区二区三区免费 | 337P日本欧洲亚洲大胆精品|