windows下Java ME 3.0和Eclipse Pulsar安装笔记

 

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控制台输出错误信息:

 

 

*** Error ***
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

 

 

 

 

 

你可能感兴趣的:(java,eclipse,oracle,windows,JavaME)