前面几篇文章已经介绍了Eclipse及其工作环境的安装、配置过程,并完成各项相关预备工作。因此从本文开始将讲述如何使用前面配置好的Eclipse开发环境来创建J2ME项目,开始真正的J2ME开发之旅。由于这是创建的第一个J2ME程序,按照程序开发的惯例,这头把交椅自然又是非"Hello World"莫属了。HelloWorld虽然功能简单,但是麻雀虽小,五脏俱全,通过这个小程序的开发,完全能够达到让读者熟悉J2ME程序开发一般流程的目的。
创建J2ME项目
与其他语言应用程序的开发类似,在开发一个J2ME程序时也要首先新建一个项目(工程)所有后续的编码、调试和运行都是在这个工程中进行。在启动Eclipse后,点击"文件"菜单下"新建"菜单弹出的"项目"菜单项。将弹出如下所示的新建项目向导对话框:
首先需要指定创建的是什么项目,展开J2ME项目,选中J2ME Midlet Suite子项后进入下一步。该向导页(如下所示)用来设置项目名称和项目存放路径。一般取缺省路径即可,项目名称自然是经典的"HelloWorld"了。设置完毕后继续下一步的设置。
此向导页需要对应用程序所支持的MIDP版本进行指定。假如考虑兼容性的话可以选择J2ME Wireless Toolkit 2.1 MIDP 1.0 platform。当然也可以选择MIDP 2.0,但是目前支持MIDP 2.0的手机究竟还是少数。点击下一步对Java构建设置进行定义,通常取默认值就可以了。点击完成按钮后EclipseMe将会自动设置好项目的编辑及运行环境。可以在导航器视图中点击HelloWorld.jad项,在右侧编辑视图中将可以查看EclipseMe生成的项目结构:
创建J2ME应用程序
刚才创建的是MIDlet Suite,一般也称作MIDlet应用程序套件,可以包含一个或多个MIDlet,只是在发布时是以MIDlet Suite为单位进行。实质性的工作都是在MIDlet中完成的。因此,需要继续添加MIDlet到项目。在导航器上点击鼠标右键,从弹出菜单中选择"新建"、"其他"菜单项启动上图所示对话框,选择J2ME下的J2ME Midlet子项后进入下一步:
这里需要指定包(也可以取缺省值)和名称,点击完成后EclipseMe将自动生成框架代码。可以添加必要的功能代码(阴影部分)到其中,以达到"Hello World"字符显示的目的。
package demo;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class HelloWorldMIDlet extends MIDlet {
private TextBox textbox;
public HelloWorldMIDlet() {
super();
textbox = new TextBox("测试程序", "Hello World!", 20, 0);
}
protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(textbox);
}
protected void pauseApp() {
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
}
在添加上述功能代码后会发现在前面有错误图标出现,这是由于没有导入相应的包所致。这有点类似于C++语言中缺少所引用的头文件。与C++需要手工添加对头文件的引用不同,在Eclipse中可以点击"源代码"菜单下的"组织导入"菜单项,EclipseMe将自动添加需要的包到工程:
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.TextBox;
运行HelloWorld