1.使用工具(需下载)
java sdk
IDE:Eclipse3.2
MTJ:Mobile Tools for Java
j2me 开发环境下的nokia sdk(官方下载):nS60_jme_sdk_3rd_e_FP1
2.配置
(1)安装JDK,配置环境变量
(2)Eclipse3.2解压就可以使用
(3)在Eclipse3.2中安装MTJ,将MTJ中features和plugins的包拷贝到Eclipse3.2中相应的文件夹下
(4)安装nokia sdk,双击nS60_jme_sdk_3rd_e_FP1文件中的setup.exe,安装(此安装目录为D:/S60)
(5)启动Eclipse3.2,选择Windows -> Preferences -> J2ME -> DeviceManagement,如下图
选择:Import 如图:
点击 Browse选择S60安装目录(D:/S60)
然后Finish.
3.参数配置
Window -> Preferences -> J2ME,Debug Server Time-out(ms) 设置为 60000
点击OK完成。
4.测试:
开始 -> 所有程序 -> S60 Developer Tools -> 3rd Edition FP1 SDK -> MIDP -> 点击运行 Emulator,运行Nokia模拟器,如下图所示
然后开始 -> 所有程序 -> S60 Developer Tools -> 3rd Edition FP1 SDK -> MIDP ->Tools->Device Connection运行连接器,如图所示:
等模拟器启动完毕后就可以双击WLAN连接模拟器,这样就可以在Eclipse中调试J2ME程序了(注意使用这个模拟器调试程序时一定要确保它处于connected状态)。
5.Eclipse新建项目测试:
右键--New--MIDLetPeoject--填写名称:S60Test,其他默认--Finish
新建包:com.sjbst.test,在此包下新建MIDlet类:Test.java
package com.sjbst.test;
/**
* 测试主类
* @author jyx
* */
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class Test extends MIDlet implements CommandListener {
private Display display = null;
private Form form = null;//
private Command command = null;
public Test() {
display = Display.getDisplay(this);
form = new Form("Test");
command = new Command("", Command.EXIT, 1);
form.addCommand(command);
form.setCommandListener(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
form.append("success");
display.setCurrent(form);
}
public void commandAction(Command c, Displayable d) {
if (c == command) {//事件响应
try {
this.destroyApp(false);
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
this.notifyDestroyed();
}
}
}
运行结果:
完成!
6.遇到问题:
(1)在调试的过程中可能会出现”Jar file could not be initialized”错误,如下图所示:
解决的办法是:Window -> Preferences -> J2ME -> Device Management,选择 S60 的 emulator 后选 edit ,在 Edit S60Emulator Definition 中的 Basic 页项中将 [%classpath%|-classpath "%classpath%"] 删除并重启Eclipse。
(2)"ERROR: cannot bind to port 3651, error 10048" 重启Eclipse,关闭nokia模拟器,重新运行
(3)"command failed with symbian error code:-10508":
查看:http://ming-fanglin.javaeye.com/blog/548873
将jad的MIDP版本修改为模拟器支持的版本(emulator -version查看)可解决该问题.