如何使用Eclipse为诺基亚创建J2ME Midlet

时间:2020-03-05 18:53:21  来源:igfitidea点击:

诺基亚已停止依赖其他IDE(包括Eclipse)来提供其开发人员套件。同时,诺基亚再次改变了自己的开发工具,EclipseMe也发生了改变。这使大多数文档无关紧要。

我想知道制作一个简单的Hello-World需要做什么?

(我已经发现自己了,所以这是供其他人使用的问答)

解决方案

回答

这是建立一个简单的hello世界所需要的-

  • 获取Java的Eclipse IDE。我用木卫三。设置它。
  • 获取Sun的Wireless Toolkit。我用的是2.5.2. 安装它。
  • 对于我的S40 6230i Edition,获取诺基亚的SDK(在此处找到),并选择与Sun的WTK集成的选项进行安装。
  • 请按照http://www.eclipseme.org/上的说明下载并安装Mobile Tools Java(MTJ)。我使用的是1.7.9版本。
  • 在MTJ(在Eclipse内部)中配置设备配置文件时,请使用WTK文件夹中的诺基亚设备,而不要使用诺基亚文件夹中的诺基亚设备。
  • 将WTK根目录设置为主安装文件夹-例如c:\ WTK2.5.2;请注意,WTK安装程序显然是为了向后兼容而创建其他文件夹。
  • 获取Antenna并在MTJ的属性页(在Eclipse中)中设置其位置。

这是一个HelloWorld示例,用于测试配置。

注意:它在WindowsXP上对我有用。
另请注意:这同样适用于S60。只需将第3阶段的S40 SDK替换为S60。

回答

除非我们需要执行特定于诺基亚的操作,否则建议完全避免使用诺基亚设备定义。开发通用设备,然后将应用程序下载到真实的物理设备中以进行最终测试。我建议的步骤:

  • 下载并安装Sun的Wireless Toolkit。
  • 使用"通过下载的归档文件安装"方法安装EclipseME。
  • 配置EclipseME。选择一个通用设备,例如" DefaultColorPhone"以进行开发。
  • 创建一个新项目" J2ME Midlet Suite"
  • 右键单击该项目,然后创建一个新的Midlet" HelloWorld"
  • 输入代码,例如:
public HelloWorld() {
    super();
    myForm = new Form("Hello World!");
    myForm.append( new StringItem(null, "Hello, world!"));
    myForm.addCommand(new Command("Exit", Command.EXIT, 0));
    myForm.setCommandListener(this);
}
protected void startApp() throws MIDletStateChangeException {
    Display.getDisplay(this).setCurrent(myForm);
}
protected void pauseApp() {}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {}
public void commandAction(Command arg0, Displayable arg1) {
    notifyDestroyed();
}

回答

对我而言,EclipseME最令人讨厌的问题是"中断的"调试器,它无法启动。文档中对此进行了介绍,但是,当我第一次安装EclipseME时,我花了一个小时才找到此技巧,而一年后又回到JavaME开发中,又花了一个小时,所以我也决定在这里分享这一知识。

如果调试器无法启动,

  • 在Eclipse"首选项"菜单中打开" Java>调试"部分,然后取消选中"在未捕获的异常上暂停执行"和"在编译错误时暂停执行",然后
  • 将对话框底部附近的"调试器超时"增加到至少15000 ms。

之后,Eclipse应该能够连接到KVM并运行带有调试器的Midlet。