WTK是Sun提供的一个开发工具包。目前各大手机厂商往往把WTK经过自身的简化与改装,推出适合自身产品,如SonyEricsson,Nokia Developer’s suit等,都属于此种类型;而通过JBuilder, Eclipse等IDE,J2ME开发包工具可以被绑定在这些集成开发环境中,进一步提高开发效率。
1.1安装过程
WTK的安装程序与普通程序一样简单,只有一点需要注意,由于WTK自身并没有附带Java的运行环境JDK,所以,在WTK安装之前你需要安装自己的JDK(我们这里选用的是JDK1.4.2)。JDK的安装比较简单,和普通程序的安装一样,读者可以从附带的光盘中找到JDK1.4.2进行安装,不需要进行特殊设置。
JDK安装成功后,接下来我们安装WTK。WTK会首先自动检测当前系统已有的Java虚拟机:
然后显示出当前虚拟机所在路径
您在确定无误后,就可以继续了,最后安装成功后,您将得到一个包括多种实用工具的开发包。以下是安装显示的菜单项。
1.2执行MIDlet、打包和混淆
1.2.1执行MIDlet
除了在KToolbar中执行一个程序,我们还可以在程序组中直接选择Run MIDP Application…, 这是就可以在弹出的对话框中选择其它路径中的JAD程序运行了。
*当我们直接选择运行时,需要注意两个问题:
1. JAD描述文件与其指定的JAR文件在同一个目录下。
2. 运行目录路径中不要包含中文。
1.2.2打包成JAR
KToolbar的生成功能只能帮我们将源代码编译并预先审核,并不会帮我们产生JAR文件,而我们如果要发布MIDP程序,除了JAD描述文件,JAR是必须的,这就需要打包。
在KToolbar选中项目 —— 包 —— 产生包,可以把整个程序,包括资源文件打包成JAR文件。形成的JAR保存在apps/项目名称/bin目录下。
1.2.3包混淆
所谓混淆,是为了防止别人反编译后读取源代码,将程序(.class文件)进行混淆,经过混淆的Java Byte Code可以增加别人反编译的时间。
把ProGuard解压,在解压目录的lib子目录中找到proguard.jar文件,将其拷贝到WTK安装目录的bin下,再执行混淆包。这是我们将会发现apps/项目名称/bin下的JAR大小变小了,反编译后的各个名称也变得毫无意义了。
1.3使用WTK创建工程
1.3.1 建立新项目
下面让我们用WTK来创建第一个HelloWord程序,熟悉下WTK开发的流程。
在WTK的程序列表中运行KToolbar,打开WTK主界面。WTK的标题菜单简单明了的列出了这个工具包的可选功能。
单击新建项目,键入新建的项目名和启动MIDlet名,这里的项目是一个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程序。
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为您进行编译,如果有错误生成,则会在控制台中提示。
根据提示信息对MIDlet文件进行修改,再重新生成,直到编译成功。对编译成功的程序,你可以从“设备”选项中选择DefaultColorPhone,DefaultGrayPhone或者其它WTK自带的设备模拟器,单击按钮可以看到弹出一个手机模拟器,显示出我们的第一个Hello World程序,如果执行有错,依然会在控制台中给出提示信息。
运行成功以后,在HelloWorld/bin目录下,将会产生一个程序描述文档JAD,它清楚的描述了当前MIDlet的名称与版本,发行人,指定的JAR包名称与大小,支持CLDC与MIDP版本等信息。在进阶开发中,默认的联网字符串,签名私钥等信息也可以保存在这个描述文档中。
1.3.2 开启旧项目
当我们下一次重新启动WTK的时候,选择打开项目,WTK会把自身apps目录下的应用项目全部显示出来,包括我们刚刚建立的Hello World,选择“打开项目”后,就能够对apps目录下的MIDlet项目进行开发更改了。
1.4 配置其他厂商的模拟器到wtk中
实际开发中,有时候标准wtk中的模拟器并不能满足我们的需要,这时候就需要其他厂商的模拟器的支持,如何将其他厂商的模拟器导入到wtk中呢,方法很简单:
1.4.1 配置nokia模拟器到wtk中
开发中用的最多的就是nokia的模拟器。首先我们下载nokia的wtk安装程序,按照默认设置安装nokia的wtk,安装完成后,假如我们安装到c盘目录下,那么我们会在安装目录下看到一个devices目录,该目录下列出了所有提供的nokia模拟器,拷贝自己需要的模拟器文件夹到/WTK22/wtklib/devices下既可使wtk集成nokia的模拟器,重启标准wtk,随便打开一个应用,我们会在下拉列表中看到我们添加进来的nokia模拟器,如图所示:
1.4.2 配置其他厂商的模拟器到wtk中
也许我们要做游戏移植,或者为其他厂商的手机做游戏,比如索尼爱立信等,我们也可以在这些厂商的wtk中找到devices目录,将我们需要的模拟器拷贝到标准wtk下,使标准的wtk支持其他厂商的模拟器,有兴趣的大家可以自己尝试,如果有问题可以到本站论坛交流。
到此为止,我们wtk开发环境的搭建已经完成,可能大家觉得wtk的程序编写能力不太强,想使用主流的开发工具eclipse或者jbuilder、netbean等开发,下面我们就一一给大家介绍下这些开发工具如何配置使之可以支持手机游戏的开发
<script type="text/javascript"> google_ad_client = "pub-2416224910262877"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_channel = ""; google_color_border = "E1771E"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>