1. 安装JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html
目前稳定是JDK6。
我使用的是JDK1.6.0。JDK5应该是可以的。
2. 安装Java ME
http://download.oracle.com/javame/
http://www.oracle.com/technetwork/java/javame/downloads/index.html
最新版是3.0。
不过好像大多数教材都是用版本2.5。
我装的是3.0,它会记录JDK的绝对路径。
安装时要注意选择JDK的位置。
3. 安装Eclipse Pulsar
http://www.eclipse.org/downloads/
一般解压即可用。
4. 写一个非常菜鸟的MIDlet程序,并且用模拟器运行
File->New->Projects
选择Java ME->MIDlet Project
工程名helloworld
Configurations->Add
按下Manage Devices按钮,打开Preferences对话框
Device Management->Manual Install...
Specify search directory:
按Browse指向Java ME的安装目录,
然后执行自动搜索。
在系统托盘显示设备管理器的图标。
然后继续搜索设备。
虽然需要较长的时间,不过一般这样的操作只需执行一次,
以后新建工程就不需要这么麻烦了。
最后,我的Java ME SDK搜索到9个设备。
按Finish退出对话框。
按OK退出Preferences对话框。
选择Device为DefaultCldcJtwiPhone1,然后按Finish。
按Finish创建工程。
src->右键->New->Java ME MIDlet
新建一个MIDlet类HelloMIDlet作为主类
src->右键->New->Class
新建一个Superclass是Canvas(随便一个Canvas皆可)的类HelloCanvas
因为pulsar的自动生成代码的参数名不太好,需要自己改一下。
HelloCanvas.java的内容如下:
import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Graphics; public class HelloCanvas extends Canvas { protected void paint(Graphics g) { // TODO Auto-generated method stub g.setColor(0x0000FF00); g.fillRect(0, 0, this.getWidth(), this.getHeight()); } }
修改MIDlet类的构造函数,创建上面那个画布类以及退出按钮的Command对象。
为了对画布类使用setCommandListener方法,
可以让这个MIDlet类实现CommandListener接口。
方法是添加implements CommandListener
然后右键->Source->Override/Implement Methods,
添加commandAction方法。
然后在commandAction中处理退出按钮的事件。
最后记得在startApp方法里向主显示对象加入画布对象。
HelloMIDlet的内容如下:
import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class HelloMIDlet extends MIDlet implements CommandListener { private Display display; private HelloCanvas canvas; private Command CMD_EXIT = new Command("退出", Command.SCREEN, 1);; public HelloMIDlet() { // TODO Auto-generated constructor stub canvas = new HelloCanvas(); canvas.addCommand(CMD_EXIT); canvas.setCommandListener(this); display = Display.getDisplay(this); } public void commandAction(Command cmd, Displayable disp) { // TODO Auto-generated method stub if (cmd == CMD_EXIT) { try { destroyApp(false); } catch (MIDletStateChangeException e) { // TODO Auto-generated catch block e.printStackTrace(); } notifyDestroyed(); } } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { // TODO Auto-generated method stub } protected void pauseApp() { // TODO Auto-generated method stub } protected void startApp() throws MIDletStateChangeException { // TODO Auto-generated method stub display.setCurrent(canvas); } }
在HelloMIDlet.java打开的状态下,
按工具栏上的Debug小图标(就是那只绿色的小虫子)。
如果你很不幸地看到底下Eclipse的Console控制台输出错误信息:
A problem occured during deploying application from http://127.0.0.1:3132/helloworld.jad
Reason:
Either the configuration or profile is not supported.
或者看到Problem Occurred对话框的时候,可以这样解决:
双击左面工程树中的Application Descriptor,打开Overview。
然后看看你所选择的运行时配置和
Microedition Configuration和
Microedition Profile的版本是否一样。
例如我现在用的是DefaultCldcJtwiPhone1设备。
按下Edit按钮可以看到:
它的verion.profile是MIDP-2.0,
而verion.configuration是CLCD-1.1。
因此修改Overview的信息:
Microedition Configuration选择1.1。
Microedition Profile选择2.0。
保存文件后切换到HelloMIDlet.java,
按Debug按钮调试。
如无意外可以看到模拟器中显示绿色的背景色,
以及左下角的菜单显示“退出”。
(上面的代码仅供参考)
5. 官方的例子程序。
官方提供了很多相关的例子可供参考,
一般在Java ME安装目录下的apps目录。
----------------------------------------------------------
20110309:更新
6. 安装硬件厂商的SDK
Eclipse->Window->Show View->Other->Pulsar->Mobile SDKs
勾选一个合适的,然后点击右上角的下拉菜单选择Install...进行安装
与pulsar相关的一些链接
Nokia
http://tools.ext.nokia.com/pulsar/
还有Motorola和Sony Ericsson