J2ME开发环境搭建 之 Sun WTK

什么是J2ME Wireless Toolkit

WTK 的全称是Sun J2ME Wireless Toolkit —— Sun的无线开发工具包,使用其中的工具可以开发在与 Java Technology for the Wireless Industry (JTWI, JSR 185) 规范兼容的设备上运行的 Java 应用程序。该工具箱包含生成工具、实用程序以及设备仿真器。到本文写作时为止可以获取有四个版本,分别是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支持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://sdlcweb3b.sun.com/ECom/EComActionServlet;jsessionid=FE979CDFE94DE539C8DE6CF74FED7878

第二节 J2ME WTK的内容和文件结构

在说明WTK文件结构之前,让我们首先把它安装起来。

WTK的安装程序与普通程序一样简单,只有一点需要注意,由于WTK自身并没有附带Java的运行环境JDK,所以,在WTK安装之前你需要安装自己的JDK(笔者这里选用的是JDK1.4.2)。

WTK会首先自动检测当前系统已有的Java虚拟机:

然后显示出当前虚拟机所在路径

您在确定无误后,就可以继续了,最后安装成功后,您将得到一个包括多种实用工具的开发包。

无论哪个版本的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的一些技术实例,这些往往是很好的学习材料。

第三节使用J2ME WTK创建工程

建立新项目

下面让我们用WTK来创建一个经典的Hello World程序,看看这水有多深。

在WTK的程序列表中运行KToolbar,打开WTK主界面。WTK的标题菜单简单明了的列出了这个工具包的可选功能。

单击新建项目,键入新建的项目名和启动MIDlet名,这里的项目是一个MIDlet套间,一般情况下是与MIDlet文件(Java文件)同名。

产生项目以后,会出现项目的设置表,您可以选择当前目标平台,CLDC配置,以及要采用的MIDP可选包。再不需要某个库文件时,请不要选中它,以减少最后程序大小。

另外,您还可以指定MIDlet的属性,这些设置将成为JAD,即J2ME程序的描述信息文档。

我们的Hello World目前不需要其它的附加设置,于是采用默认,确定之后,控制台信息提示建立成功。

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程序。

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的生成键,由WTK为您进行编译,如果有错误生成,则会在控制台中提示。

根据提示信息对MIDlet文件进行修改,再重新生成,直到编译成功。对编译成功的程序,执行运行,可以看到弹出一个手机模拟器,显示出我们的第一个Hello World程序,如果执行有错,依然会在控制台中给出提示信息。

开启旧项目

当我们下一次重新启动WTK的时候,选择打开项目,WTK会把apps目录下的应用项目全部显示出来,包括我们刚刚建立的Hello World,选择载入后,就能够重新运行了。

第四节执行MIDlet,打包和混淆

执行MIDlet

除了我们刚刚介绍的在KToolbar中执行一个程序,我们还可以在程序组中直接选择Run MIDP Application…, 这是就可以在弹出的对话框中选择其它路径中的JAD程序运行了。

当我们直接选择运行时,需要注意两个问题:

1. JAD描述文件与其指定的JAR档案文件在同一个目录下。

2. 运行目录路径中不要包含中文。

打包成JAR

KToolbar的生成功能只能帮我们将源代码编译并预先审核,并不会帮我们产生JAR文件,而我们如果要发布MIDP程序,除了JAD描述文件,JAR是必须的,这就需要打包。

在KToolbar选中项目 —— 包 —— 产生包,可以把整个程序,包括资源文件打包成JAR文件。形成的JAR保存在apps\HelloWorld\bin目录下。

包混淆

在上面的操作中,我们看到,除了“产生包”,另外还有一个“产生混淆包”选项。所谓混淆,是为了防止别人反编译后读取源代码,将程序(.class文件)进行混淆,经过混淆的Java Byte Code可以增加别人反编译的时间,即便反编译后,也会因为类名变化成没有意义的符号而增加理解源程序的难度。更进一步,由于混淆大大缩短的源程序中类,成员变量以及方法名称,导致生成的JAR体积变小!

目前一般比较常用的混淆器是两款开源产品:ProGuard和RetroGuard,本文采用前者作为示例,你可以在http://proguard.sourceforge.net/ 上获取。

把刚刚获取的ProGuard解压,在解压目录的lib子目录中找到proguard.jar文件,将其拷贝到WTK安装目录的bin下,再执行混淆包。这是我们将会发现apps\HelloWorld\bin下的JAR大小变小了,反编译后的各个名称也变得毫无意义了。

第五节 WTK中其它值得关注的功能

到这里,我们就如何用WTK创建,执行,打包,混淆一个MIDP项目做了比较详细的介绍。除了以上所说各点,WTK(2.2版)还提供诸多实用功能。这些都可以在编辑 —— 偏好中找到。

例如,当我们需要监视程序性能的时候,可以选中“启用内存监视器”,在下一次模拟器执行的时候,我们就可读出程序运行时的内存消耗均值,消耗峰值以及具体产生对象的个数和使用情况。

除了内存监视,我们还可以执行网络监视,设定存储区大小和堆栈大小,设定安全签名和蓝牙操作属性,以尽可能模拟手机实际运行环境,这些功能在进阶开发中都是非常实用的。

注意:

虽然WTK为我们提供了各种工具来模拟手机运行环境,但在实际开发中,由于受到手机硬件,网络条件等诸多限制,MIDP的真实性能在不同机器上会出现不同的反应,与WTK中的表现可能差别更大。

时间: 2024-08-03 06:44:45

J2ME开发环境搭建 之 Sun WTK的相关文章

J2ME开发环境搭建 之 EclipseMe

J2ME开发环境搭建 之 EclipseMe   第一节    初识Eclipse Eclipse是一个开发源代码,基于java的可扩展开发平台,它是在OSI(Open Software Initiative 开发源代码计划)认可的通用公共许可证(CPL)版下被授予许可证的集成开发平台(IDE).作为当今最流行的java开发IDE之一,java社群使用Eclipse以及基于Eclipse技术而来的IBM Websphere的开发者已经超过了半数. Eclipse本身只是一个框架和一组响应的服务,

J2ME开发环境搭建问题

问题描述 1.安装了JDK2.使用Eclipse3.安装eclipseme插件4.安装wtk5.在eclipse中配置wtk进行以上操作以后java文件可以编写和运行,J2ME程序编写时,好像都不识别其中的方法请教有谁知道是为什么? 解决方案 解决方案二:建项目时要选J2ME的解决方案三:什么方法不识别?解决方案四:新建项目时选J2meSuite!解决方案五:是的,我选的是,这些都正确,我建立midlet后默认的三个方法都自动出现,再想写其他的方法,就总是报错,也不显示报错原因,无奈.解决方案六

Eclipse3.6.2+EclipseME1.7.9+WTK2.5.2搭建J2ME开发环境

花费了一天时间,最后在如下梁文帮助下搭建成功.   贴出来共享.     Eclipse+EclipseME+WTK搭建J2ME开发环境.doc       混淆工具 proguard 的安装           

在Eclipse上搭建Nokia手机的J2ME开发环境

在Eclipse上搭建Nokia手机的J2ME开发环境 安装红外适配器 Nokia6220提供多种与PC机连接通讯的方式:数据线和红外传输.我用的台式PC上是不带红外接收头的,所以得先去赛格电脑市场买一个红外适配器(IR Adapter). 由于之前没玩过这玩意,经过左挑右选,花30元买回一个样子小小的(类似U盘),外壳透明的红外适配器.哪知回来一装,传输速率才9600, 便宜没好货啊.速度慢且不说,用了两天就再也连不上了.无赖之下,又去赛格加了15元换了一个样子丑丑的适配器. 安装Nokia

J2ME开发环境的安装和使用

J2ME(Java 2 Micro Edition)作为现在的一种主流的.通用的手机程序开发技术,在实际的开发过程中得到的广泛的使用.而手机程序开发作为一个新兴的软件开发领域,对于人才以及产品的需求还远远没有得到满足,所以手机程序开发技术成为了现在最热门,也是发展前景很光明的技术之一.本文就介绍J2ME技术开发的第一个环节――开发环境的安装和实际的使用. J2ME技术作为一种通用的技术,针对的领域主要是消费类电子设备,包括机顶盒.车载设备.可视电话.手机等各种设备,下面只介绍J2ME技术进行手机

新手入门:J2ME开发环境的安装和使用

J2ME(Java 2 Micro Edition)作为现在的一种主流的.通用的手机程序开发技术,在实际的开发过程中得到的广泛的使用.而手机程序开发作为一个新兴的软件开发领域,对于人才以及产品的需求还远远没有得到满足,所以手机程序开发技术成为了现在最热门,也是发展前景很光明的技术之一.本文就介绍J2ME技术开发的第一个环节--开发环境的安装和实际的使用. J2ME技术作为一种通用的技术,针对的领域主要是消费类电子设备,包括机顶盒.车载设备.可视电话.手机等各种设备,下面只介绍J2ME技术进行手机

jdk+eclip+android sdk实现Android开发环境搭建

一 相关下载 (1) java JDK下载: 进入该网页: http://java.sun.com/javase/downloads/index.jsp (或者直接点击下载)如下图: 开发环境搭建-jdk环境搭建"> 选择 Download JDK 只下载JDK,无需下载jre. (2)eclipse下载 进入该网页: http://www.eclipse.org/downloads/ (或者直接点击下载:BT下载    HTTP下载) 如下图: 我们选择第一个(即eclipse IDE

J2ee Servlet开发环境搭建全过程

环境:Windows sp3.Myeclipse 6.5 1.新建一个Web项目(New Web Porject),然后点"完成". 开发环境搭建全过程-j2ee开发环境搭建"> 2.在Cuzz项目下右击src>>new>>Servlet,创建一个Servlet,包名一定要写上."Name:"值以"Servlet"结尾,因为我们写一个登陆页面,为了更加安全选择doPost方法就行了,然后下一步. 3.下一步

struts2.3.24+spring4.1.6+hibernate4.3.11+mysql5.5.25开发环境搭建图文教程_java

struts2.3.24 + spring4.1.6 + hibernate4.3.11+ mysql5.5.25开发环境搭建及相关说明. 一.目标 1.搭建传统的ssh开发环境,并成功运行(插入.查询) 2.了解c3p0连接池相关配置 3.了解验证hibernate的二级缓存,并验证 4.了解spring事物配置,并验证 5.了解spring的IOC(依赖注入),将struts2的action对象(bean)交给spring管理,自定义bean等...并验证 6.了解spring aop(面向