主要讲述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虚拟机,然后显示出当前虚拟机所在路径
您在确定无误后,就可以继续了,最后安装成功后,您将得到一个包括多种实用工具的开发包。以下是安装显示的菜单项。
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文件的名字)。
产生项目以后,会出现项目的设置表,您可以选择当前目标平台,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版本等信息。在进阶开发中,默认的联网字符串,签名私钥等信息也可以保存在这个描述文档中。
3.2 开启旧项目
当我们下一次重新启动WTK的时候,选择打开项目,WTK会把自身apps目录下的应用项目全部显示出来,包括我们刚刚建立的Hello World,选择“打开项目”后,就能够对apps目录下的MIDlet项目进行开发更改了。
4 执行MIDlet、打包和混淆
4.1 执行MIDlet
除了我们刚刚介绍的在KToolbar中执行一个程序,我们还可以在程序组中直接选择Run MIDP Application…, 这是就可以在弹出的对话框中选择其它路径中的JAD程序运行了。
当我们直接选择运行时,需要注意两个问题:
1. JAD描述文件与其指定的JAR文件在同一个目录下。
2. 运行目录路径中不要包含中文。
4.2 打包成JAR
KToolbar的生成功能只能帮我们将源代码编译并预先审核,并不会帮我们产生JAR文件,而我们如果要发布MIDP程序,除了JAD描述文件,JAR 是必须的,这就需要打包。
在KToolbar选中项目 —— 包 —— 产生包,可以把整个程序,包括资源文件打包成JAR文件。形成的JAR保存在apps\HelloWorld\bin目录下。
4.3 包混淆
在上面的操作中,我们看到,除了“产生包”,另外还有一个“产生混淆包”选项。所谓混淆,是为了防止别人反编译后读取源代码,将程序(.class文件) 进行混淆,经过混淆的Java Byte Code可以增加别人反编译的时间。
这里我们使用开源的ProGuard,关于混淆的详细介绍和混淆工具的下载,见本教程的前面的章节。
把刚刚获取的ProGuard解压,在解压目录的lib子目录中找到proguard.jar文件,将其拷贝到WTK安装目录的bin下,再执行混淆包。 这是我们将会发现apps\HelloWorld\bin下的JAR大小变小了,反编译后的各个名称也变得毫无意义了。
5 WTK中其它值得关注的功能
到这里,我们就如何用WTK创建,执行,打包,混淆一个MIDP项目做了比较详细的介绍。除了以上所说各点,WTK(2.2版)还提供诸多实用功能。这些 都可以在编辑 —— 偏好中找到。
例如,当我们需要监视程序性能的时候,可以选中“启用内存监视器”,在下一次模拟器执行的时候,我们就可读出程序运行时的内存消耗均值,消耗峰值以及具体 产生对象的个数和使用情况。
除了内存监视,我们还可以执行网络监视,设定存储区大小和堆栈大小,设定安全签名和蓝牙操作属性,以尽可能模拟手机实际运行环境,这些功能在进阶开发中都 是非常实用的。
注意:
虽然WTK为我们提供了各种工具来模拟手机运行环境,但在实际开发中,由于受到手机硬件,网络条件等诸多限制,MIDP的真实性能在不同机器上会出现不同 的反应,与WTK中的表现可能差别更大。
从菜单中选择“工具集”可以看到更多的实用工具,这些都是开发实用的j2me程序时会频繁使用到的。介于本教程面向入门级读者,所以这部分内容请读者自行研究.
原文:http://www.j2megame.org/index.php/content/view/54/125.html
分享到:
相关推荐
jdk+myeclipse+wtk搭建j2me开发环境 jdk 是 Java Development Kit 的缩写,表示 Java 开发工具包,是 Java 语言的核心组件之一。jdk 安装配置是搭建 j2me 开发环境的第一步。 在安装 jdk 之前,需要注意版本,以免...
为了搭建一个高效的J2ME开发环境,本篇文章将详细介绍如何利用Eclipse、EclipseME插件以及Wireless Toolkit(WTK)来构建一个完整的开发平台。以下步骤将帮助您完成整个搭建过程,并确保您的开发环境能够顺利运行...
在本文中,我们将详细介绍如何使用Eclipse 3.1.1、EclipseME 1.5和WTK(Wireless Toolkit)2.2搭建J2ME(Java 2 Micro Edition)开发环境。J2ME是一种Java平台,用于开发和部署在移动设备、嵌入式系统等资源受限的...
【Eclipse + EclipseME + WTK 搭建 J2ME 开发环境】 J2ME(Java 2 Micro Edition)是一种轻量级的 Java 平台,主要用于开发移动设备和嵌入式系统的应用程序。为了在 Eclipse 开发环境中进行 J2ME 开发,我们需要...
**搭建J2ME开发平台详解** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专门用于开发在嵌入式设备、移动设备,尤其是手机上的应用程序。要开始J2ME的开发,首先需要了解并配置好必要的开发环境。以下是搭建...
本文将指导您如何搭建J2ME开发环境,包括安装JDK、Eclipse、EclipseME和WTK等软件。 一、安装JDK JDK(Java Development Kit)是Java开发环境的核心组件。要安装JDK,首先需要从 Oracle 官方网站下载JDK安装包,...
### J2ME基于Eclipse+EclipseME+WTK的J2ME平台搭建 #### 软件及工具介绍 - **J2SE JDK1.6**:这是Java 2 Standard Edition的版本之一,提供了构建和部署Java应用程序所需的核心类库、Java虚拟机(JVM)以及开发...
本篇将详细介绍如何搭建J2ME移动开发平台,以及如何利用它进行蓝牙功能的开发。 首先,你需要安装Java SDK,这是所有Java开发的基础。Java SDK提供了编译Java源代码、运行Java应用程序和调试工具。你可以从Oracle...
**搭建J2ME开发平台—EclipseME** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式系统和移动设备,尤其是智能手机。它为开发简单的到复杂的手机应用程序和游戏提供了丰富的工具和技术。在本文...
在构建JAVA ME开发环境时,使用Eclipse3.3、Eclipseme1.7.6以及wtk2.5.2是一种经典的配置方案,尤其适用于初学者和希望深入理解JAVA ME应用开发流程的开发者。以下将详细介绍如何通过这些工具搭建一个完整的JAVA ME...
【Eclipse搭建J2ME开发环境安装指导】 J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式系统和移动设备,尤其是手机应用的开发。要开始J2ME程序的开发,我们需要一个合适的集成开发环境(IDE),...
随着移动互联网技术的不断发展,Java 2 Platform, Micro Edition (J2ME) 作为移动应用开发的重要平台之一,一直受到开发者的广泛关注。本教程将详细介绍如何在Windows环境下利用Eclipse、EclipseME插件以及Sun ...
【Eclipse Ganymede搭建J2ME开发平台的详细步骤】 Eclipse Ganymede是Eclipse集成开发环境(IDE)的一个版本,它为开发者提供了强大的工具集,支持多种开发平台和语言,包括Java ME(J2ME)移动应用开发。J2ME是...
### JAVA手机开发环境搭建——基于NOKIA的JAVA手机开发环境搭建 在移动通信与互联网技术日益融合的背景下,JAVA手机应用开发成为了一个备受关注的领域。为了在NOKIA等品牌手机上进行JAVA应用程序的开发,搭建一个...
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能家电等。本文档详细介绍了如何搭建J2ME开发环境,主要包括以下几个步骤: 1. **安装JDK**:J2ME开发的...
【J2ME手机开发环境搭建】是针对Java 2 Micro Edition技术在移动设备上应用的初学者准备的教程。J2ME是Java平台的一个子集,主要用于开发在各种小型设备,如手机、机顶盒等上的应用程序。由于手机型号和功能的多样性...
J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备上的应用程序开发。Eclipse是一款强大的集成开发环境(IDE),它支持多种编程语言,包括Java。本篇将详细介绍如何使用Eclipse来...
随着移动互联网技术的发展,Java 2 Micro Edition(简称 J2ME)作为一种重要的移动应用开发平台,在早期的智能手机及功能手机上占据了重要的地位。本文旨在详细介绍如何搭建一个完整的J2ME开发环境,包括必要的软件...