您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > J2ME的SUNwtk的环境搭建
WTK的全称是SunJ2MEWirelessToolkit——Sun的无线开发工具包,使用其中的工具可以开发在与JavaTechnologyfortheWirelessIndustry(JTWI,JSR185)规范兼容的设备上运行的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(CLDC1.0,MIDP2.0,WMA1.1,可改用CLDC1.1或加入MMAPI1.1),自定义(自己随机组合Configuration,Profile以及OptionalPackage)三种环境。2.2版中,WTK支持MIDP2.0,CLDC1.1,WMA2.0,MMAPI1.1,WebServices(JSR172),FileandPIMAPIs(JSR75),BluetoothandOBEXAPIs(JSR82),and3DGraphics(JSR184);同时您也可以使用该版开发面向CLDC1.0和MIDP1.0的应用程序。系统要求上,WTK2.2至少需要50MB可用硬盘,128MB系统RAM和800MHZPentiumIIICPU。你可以在sun的官方网站免费下载。WTK2.2下载链接(需要先登陆):=FE979CDFE94DE539C8DE6CF74FED7878第二节J2MEWTK的内容和文件结构在说明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的一些技术实例,这些往往是很好的学习材料。第三节使用J2MEWTK创建工程建立新项目下面让我们用WTK来创建一个经典的HelloWorld程序,看看这水有多深。在WTK的程序列表中运行KToolbar,打开WTK主界面。WTK的标题菜单简单明了的列出了这个工具包的可选功能。单击新建项目,键入新建的项目名和启动MIDlet名,这里的项目是一个MIDlet套间,一般情况下是与MIDlet文件(Java文件)同名。产生项目以后,会出现项目的设置表,您可以选择当前目标平台,CLDC配置,以及要采用的MIDP可选包。再不需要某个库文件时,请不要选中它,以减少最后程序大小。另外,您还可以指定MIDlet的属性,这些设置将成为JAD,即J2ME程序的描述信息文档。我们的HelloWorld目前不需要其它的附加设置,于是采用默认,确定之后,控制台信息提示建立成功。WTK产生项目后,不同类型的资源有着相对固定的存放位置。Java源文件被放在apps目录下\HelloWorld\src下,相关程序资源文件(图片,音频)放在\HelloWorld\res下,应用程序库文件放在\HelloWorld\lib下,这在WTK中是必须注意的,即便是相对路径,也必须是在该类型目录下建立。项目创建成功后,我们来创建一个MIDlet文件,MIDlet是J2ME项目文件的入口文件,也是必须的。在\HelloWorld\src目录下创建HelloWorld.java,采用默认包,注意,此时创建的java程序必须是与我们在创建项目时键入的MIDlet类名一致。在新创建的java文件中输入代码,下文是一个简单的欢迎Form程序。importjavax.microedition.lcdui.*;importjavax.microedition.midlet.MIDlet;publicclassHelloWorldextendsMIDlet{Displaydisplay;publicHelloWorld(){super();display=Display.getDisplay(this);}protectedvoidstartApp(){Formform=newForm(HelloWorld!);form.append(WelcometoJ2MEworld!);display.setCurrent(form);}protectedvoidpauseApp(){}protectedvoiddestroyApp(booleanarg0){}}完成后保存java文件,单击WTK的生成键,由WTK为您进行编译,如果有错误生成,则会在控制台中提示。根据提示信息对MIDlet文件进行修改,再重新生成,直到编译成功。对编译成功的程序,执行运行,可以看到弹出一个手机模拟器,显示出我们的第一个HelloWorld程序,如果执行有错,依然会在控制台中给出提示信息。开启旧项目当我们下一次重新启动WTK的时候,选择打开项目,WTK会把apps目录下的应用项目全部显示出来,包括我们刚刚建立的HelloWorld,选择载入后,就能够重新运行了。第四节执行MIDlet,打包和混淆执行MIDlet除了我们刚刚介绍的在KToolbar中执行一个程序,我们还可以在程序组中直接选择RunMIDPApplication…,这是就可以在弹出的对话框中选择其它路径中的JAD程序运行了。当我们直接选择运行时,需要注意两个问题:1.JAD描述文件与其指定的JAR档案文件在同一个目录下。2.运行目录路径中不要包含中文。打包成JARKToolbar的生成功能只能帮我们将源代码编译并预先审核,并不会帮我们产生JAR文件,而我们如果要发布MIDP程序,除了JAD描述文件,JAR是必须的,这就需要打包。在KToolbar选中项目——包——产生包,可以把整个程序,包括资源文件打包成JAR文件。形成的JAR保存在apps\HelloWorld\bin目录下。包混淆在上面的操作中,我们看到,除了“产生包”,另外还有一个“产生混淆包”选项。所谓混淆,是为了防止别人反编译后读取源代码,将程序(.class文件)进行混淆,经过混淆的JavaByteCode可以增加别人反编译的时间,即便反编译后,也会因为类名变化成没有意义的符号而增加理解源程序的难度。更进一步,由于混淆大大缩短的源程序中类,成员变量以及方法名称,导致生成的JAR体积变小!目前一般比较常用的混淆器是两款开源产品:ProGuard和RetroGuard,本文采用前者作为示例,你可以在上获取。把刚刚获取的ProGuard解压,在解压目录的lib子目录中找到proguard.jar文件,将其拷贝到WTK安装目录的bin下,再执行混淆包。这是我们将会发现apps\HelloWorld\bin下的JAR大小变小了,反编译后的各个名称也变得毫无意义了。第五节WTK中其它值得关注的功能到这里,我们就如何用WTK创建,执行,打包,混淆一个MIDP项目做了比较详细的介绍。除了以上所说各点,WTK(2.2版)还提供诸多实用功能。这些都可以在编辑——偏好中找到。例如,当我们需要监视程序性能的时候,可以选中“启用内存监视器”,在下一次模拟器执行的时候,我们就可读出程序运行时的内存消耗均值,消耗峰值以及具体产生对象的个数和使用情况。除了内存监视,我们还可以执行网络监视,设定存储区大小和堆栈大小,设定安全签名和蓝牙操作属性,以尽可能模拟手机实际运行环境,这些功能在进阶开发中都是非常实用的。注意:虽然WTK为我们提供了各种工具来模拟手机运行环境,但在实际开发中,由于受到手机硬件,网络条件等诸多限制,MIDP的真实性能在不同机器上会出现不同的反应,与WTK中的表现可能差别更大。
本文标题:J2ME的SUNwtk的环境搭建
链接地址:https://www.777doc.com/doc-904760 .html