最近决定下来开始进军J2ME了,经过一段摸索、学习,算是入门了吧。经验不敢独享,算是对自己的一个检查吧,把如何开始进行J2ME的开发进行一个总结。
1.先整体学习一下J2ME的知识,基本概念,象MIDP、CLDC等等。然后选择开始进行那种方式的开发,选择MIDP还是CLDC?二者的开发大体是相似的,只是类库方面有些不同。我选择了进行MIDP的开发。这样需要从Sun的网站下载相关的文档、API说明等,又很多,我觉得对入门者来说足够了,不过是E文的,但是如果可以的话,还是尽量看E文吧,大有帮助的。
2.下面就可以开始进行实际探索了。进行J2ME开发的开发工具也有很多,象Eclipse、Sun One Microedition,JBuilder MicroEditio,NetBean等,个人推荐用Eclipse(现在很火的Java开发工具)。除了Eclise,还需要EclipseMe插件、JDK、WTK等。若选择具体的手机系列进行开发,还可以下载相关手机厂商提供的SDK。下面是主要的一些链接:
Eclipse: http://www.eclipse.org
EclipseMe: http://www.eclipseme.org
JDK: http://www.sun.com
WTK: http://www.sun.com
3.安装:
先安装Eclipse,具体不详细描叙,然后是安装插件EclipseMe,Eclipse插件的安装方法知道吧。(什么?不知道!晕!)再安装JDK 和WTK,最后是运行Eclipse,配置WTK。打开Eclipse后,选择Windows->Preferences。打开窗口如下:
在左边选择J2ME下面的Platform - components部分,此处是让配置你具体要使用那些J2ME的SDK。右键单击右边窗口中的Wireless Toolkits,弹出选择对话框,选择你安装的WTK或者是其他厂商提供的SDK的目录。
这样你就完成了开发工具的安装跟配置(简单吧:)),接下来你就可以开始激动的J2ME之旅了。
在Eclipse开发环境中,选择菜单New,打开新建对话框,选择J2ME->J2ME MIDP Suite。单击Next,输入Project名称HelloWorld,然后单击Finish。这样就生成了一个J2ME MIDP的解决方案。接下来选择Package Expolrer,选择刚才新建的J2ME方案,然后通过New菜单,选择J2ME MIDP,单击Next.,出现输入MIDP类信息的对话框,该类默认从javax.microedition.midlet.MIDlet继承下来,所有MIDP的程序都需要从该类继承一个子类下来。这个类相当于VC里面的CApp类,应用程序的入口和出口都与它有关。给其输入名称HelloMIDlet,然后单击Finish。这时会显示刚才生成的MIDlet子类的代码,注意到系统自动生成了3个方法,分别是startApp、pauseApp和destroyApp。这三个方法的用途分别是
startApp:启动这个MIDlet程序时触发,一个MIDlet程序创建后,可能会被对此调用其startApp方法。所以这个地方要注意,不要把那些创建的初始化代码放在这个函数里面,最好时放在MIDlet类的构造函数里面,以确保只执行一次。
pauseApp:MIDlet程序暂停或者进入休眠状态时被调用。
destroyApp:MIDlet程序退出时被调用。
对代码稍做修改,如下:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Hello extends MIDlet {
private Display display;
private TextBox t;
public Hello() {
display = Display.getDisplay(this);
t = new TextBox("Hello MIDlet", "Hello MIDP!", 256, 0);
}
public void startApp() {
display.setCurrent(t);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
我们在该MIDlet的构造函数中创建了一个文本框,让其显示“Hello MIDP”字符串。然后在startAp方法中显示。
接下来我们可以运行、调试一些程序,单击菜单Debug ...,出现下图的对话框,照图进行配置:
然后单击Debug按钮进行调试,如果没有出现错误的话,就会出现下图的模拟机窗口。
是不是很有意思,利用MIDP还可以开发出很多丰富多彩的功能出来,比如手机游戏等等。自己慢慢摸索吧!