在Test类的构造函数中首先得到当前MIDlet的Display对象,以便进行界面显示。随后通过new操作符新建项目将要用到的命令按钮、文本框等高级用户界面类的对象。在创建命令按钮时,可以通过参数指定所要创建的命令按钮种类。在TextBox类方法addCommand()将其添加到文本框后需要继续调用setCommandListener()方法以开始命令的侦听,否则创建出来的命令按钮仅仅是个无法响应任何操作的摆设。由于需要处理按键,因此在这里必须实现CommandListener接口并处理commandAction方法,该方法的具体实现过程稍后在进行介绍。
为了在程序开始之初启动程序封面,以显示版权信息、软件介绍等简介性质的文字或画面,需要在startApp()方法中添加相应的代码。这里是通过信息框来实现这一功能的。首先新建一Alert对象,并设置标题、内容信息和信息框类型。通常我们更习惯在按键之后再进入下一页面,为了实现这一效果可以在调用setTimeout()方法时指定FOREVER这一属性参数。设置完毕后通过Display的setCurrent()方法指定该信息框为当前显示界面。
本程序具有用户交互功能,用户可以通过输入要查看短信的序号来阅读不同的短信内容。为实现该功能就要在commandAction()方法中添加代码进行处理。由于本程序添加有两种不同功能的按键,因此首先需要对第一个参数进行检查以区分当前执行的是退出命令还是确定命令。如果按下的是后者,再通过第二个参数得到用户通过键盘在文本框录入的字符并进行检测判断,对于习惯了C++编程的开发人员需要注意,在判断字符变量是否与其他字符相等时不能使用"=="操作符而要使用String的equals()方法进行判断。剩下的工作就是再以信息框将用户需要的短信显示出来即可,具体实现过程与前述方法类似。
![]() |
Eclipse在代码编写过程中会动态检查错误,在出现错误后,可以将鼠标移到在出错代码左侧的错误图标上双击鼠标,将弹出如上图所示的更改建议,用户可以在其上双击鼠标接受其建议,在右侧浮动窗口显示的代码将自动添加到适当的位置。
运行程序并打包
代码编写无误后可以先在PC上的模拟器中运行调试,并对出现的问题进行修改,一切无误后再打包发布。在模拟器的运行过程在上一篇文章已有详细介绍,这里就不再重复。由于程序即将在真机运行,因此最好使用手机厂商提供的J2ME SDK。下图为使用SonyErisson J2ME SDK (WTK 1.0.4)和SonyErission_T630模拟器的运行过程截图:
![]() |
在程序列表中选中本程序Test,然后按下Lautch键将装载程序并进入软件首页(左2图),按下Done键进入用户交互界面(左3图)通过点击模拟器的数字按键录入要查看的短信序号并按下"阅读"键将显示相应短信内容(左4图)按下Done键后返回到前一页面,可以再次输入其他短信序号继续阅读其他短信的内容,直到按下"退出"键返回到最开始的界面(左1图)。
![]() |
显然,编写的程序并没有什么问题,可以向真机发布了。在发布时,首先要确保已经添加有对MIDlet的定义。可以在导航器视图中双击"Test.jad"项打开jad编辑器(见上图)。在编辑器下方窗口切换中选择Midlets进入Midlet定义窗体,确保有如上图所示的项目出现,否则添加之。如果需要添加图标的话,可以指定待使用的图标,但一定要预先将图标文件转换成png格式的文件。
![]() ![]() |
最后要进行的应用程序打包处理简单的几乎难以置信,只需右击项目并选择上下文菜单的"J2ME"菜单所弹出的"Create Package"菜单项即可(见上图)。EclipseMe将自动在项目存放目录下的deployed文件夹下生成两个文件,分别是Test.jad和Test.jar。只要通过手机上传软件经由数据线、红外口或是蓝牙将Test.jar上传至手机即可。当然,手机必须是支持Java的才行。如果不清楚是否支持,可查阅手机用户手册。











