王朝百科
分享
 
 
 

wtk

王朝百科·作者佚名  2009-12-21  
宽屏版  字体: |||超大  

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的应用程序。

2.5.2版中,新特性

Features and Benefits

The Sun Java Wireless Toolkit includes many developer-friendly features:

Support for the following platform APIs:

Java Technology for the Wireless Industry (JTWI) (JSR 185)

Mobile Service Architecture (MSA) (JSR 248)

Support for the following standard APIs:

Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)

Mobile Information Device Profile (MIDP) 2.0 (JSR 118)

Wireless Messaging API (WMA) 2.0 (JSR 205)

Mobile Media API (MMAPI) (JSR 135)

PDA Optional Packages for the J2ME Platform (JSR 75)

Java APIs for Bluetooth (JSR 82)

J2ME Web Services Specification (JSR 172)

Mobile 3D Graphics API for J2ME (JSR 184)

Security and Trust Services API (SATSA) (JSR 177)

Location API (LAPI) 1.0(JSR 179)

Content Handler API (CHAPI) 1.0(JSR 211)

Session Initiated Protocol (SIP) API (JSR 180)

Scalable 2D Vector Graphics (SVG) API (JSR 226)

Payment API (PAPI) (JSR 229)

Advanced Multimedia Supplements (AMMS) (JSR 234)

Mobile Internationalization API (JSR 238)

Java Bindings for the OpenGL(R) ES API (JSR 239)

Choice of emulator skins and enhanced screen features

Create project from Jar and Jad file

Support for third-party emulators

Enhanced performance monitoring

Demo Applications

Customization

Integration with popular integrated development environments (IDEs)

Linux version available

系统要求上,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 Worldsrc下,相关程序资源文件(图片,音频)放在Hello World

es下,应用程序库文件放在Hello Worldlib下,这在WTK中是必须注意的,即便是相对路径,也必须是在该类型目录下建立。

项目创建成功后,我们来创建一个MIDlet文件,MIDlet是J2ME项目文件的入口文件,也是必须的。在Hello Worldsrc目录下创建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替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有