前两天看了关于J2ME和WTK的概念知识,有了大概的理性认识,今天就应该写个HELLOWORLD或者foo之类的程序让自己有点感性认识了吧,呵呵,计算机这东西离不开动手的。
我手里的王森的< java手机程式设计入门>是WTK1.0版本的,我下载了sun的WTK2.1,而在sun网站上,最新的2.2beta已经发布,具体的资料明天再研究吧。
安装完WTK2.1,就知道这个版本的东西和1.0已经大相径庭,但是核心的东西还是没有变,只是开发的时候省去了很多繁琐的步骤。我们先来看看具体的开发步骤:
1.编写程序源代码
2.编译
3.预先审核
4.编写描述档
5.合成jar
6.测试排错
7.下载到模拟器或者手机PDA上执行
在这里,可能奇怪的就是第三步,叫做预先审核(Preverify),这个在J2SE中是没有的东西。在J2SE的java虚拟机上,类的审核机制负责拒绝不合法的类文件。而JVM支持的CLDC也要如此。但是类审核是很费资源和时间的,所以KVM的设计者决定将大部分的审核工作从设备上移到桌面环境在类编译之前由负责程序下载的服务设备上来做。这个步骤被规定为预先审核命令。这是跟J2SE开发不同的地方之一。
其实我们不用太在意,因为这点在开发中留心一下就可以了,一般如果用Jbuild这样的开发工具他们会帮你搞定的。
另外一个要强调就是编写描述档了。描述档一般命名为*.jad,格式如下
HelloMIDlet.jad
MIDlet-Name: HelloWorld
MIDlet-Version: 1.0.0
MIDlet-Vendor: Sun Microsystems, Inc.
MIDlet-Description: Sample Hello World MIDlet
MIDlet-Info-URL: http://java.sun.com/j2me/
MIDlet-Jar-URL: http://127.0.0.1/HelloMIDlet.jar
MIDlet-Jar-Size: 1020
MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.0
MIDlet-1: HelloWorld,, HelloMIDle
他需要描述关于这个MIDlet的具体信息,如名字,版本,开发商,描述,信息网址,jar包网址,jar包大小,MIDP版本,配置版本,MIDlet名称等。
其中jar包的网址大小信息是Over-The-Air(OTA)发布的时候用的,也就是网络发布你的J2ME程序让用户通过网页下载安装时候用的。
MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.0
WTK2.1中的MIDP是2.0版本的,CLDC是1.0的。
最后,是MIDlet-1的名称,可以用中文名,不过要注意中文码要使用Unicode,否则是显示乱码的。
其实,在JbuilderX(JBX)中,他自带了WTK2.0,而且调试编译的时候用不着自己写jad描述档就可以调试了,发布的时候再考虑那些繁琐的步骤吧。
OK,我们来看看JBX怎么写一个HELLOWORLD吧。
首先,先说说JBX下WTK的设置,JBX自带一个WTK2.0_01,再tools-Configure JDKs 下就可以看到,如果要使用最新的WTK版本,比如我的是2.1,就在左边new一个,选择安装的目录,如C:/WTK21,他就可以自动识别到J2ME Wireless Toolkit 2.1了。
然后,注意新建工程文件的时候要选择JDK为J2ME Wireless Toolkit 2.1,如果还是以前的java version 1.4.2_01-b06你就没法子建立MDIlet程序了。
新建一个空的工程文件,然后new一个Micro下的MDIP MIDlet,就是你的第一个MIDlet手机程序了哦。你可以直接点击运行就有效果了。
JB的风格总是文件与界面分离,所以你有一个类是继承form,另一个类是MIDlet。Form中我们就可以使用JB强大的界面设计工具开发我们的手机程序了,而且JB打jar包也是容易的一流。工欲善其事,必先利其器嘛。
简单的修改super(),new Command("离开", Command.EXIT, 1)和在jbInit()中输出文字,就是我们的HELLOWORLD了。
Ok,可以开始发挥我们的想象力了,在那个屏幕上来点什么吧!