如何使用Eclipse为Nokia创建J2ME midlet

时间:2008-09-15 12:48:21

标签: java eclipse java-me nokia java-wireless-toolkit

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

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

(我已经发现自己,所以这是其他人使用的Q& A)

3 个答案:

答案 0 :(得分:10)

这是制作一个简单的hello世界所需要的 -

  1. 获取Java的Eclipse IDE。我用了Ganymede。设置它。
  2. 获取Sun的Wireless Toolkit。我使用2.5.2。安装它。
  3. 获取诺基亚SDK(found here),在我的情况下为S40 6230i版本,并安装它选择与Sun的WTK集成
  4. 按照http://www.eclipseme.org/的说明下载并安装Mobile Tools Java(MTJ)。我使用的是1.7.9版本。
  5. 在MTJ(Eclipse内部)中配置设备配置文件时,请使用WTK文件夹中的诺基亚设备而不是诺基亚文件夹中的设备。
  6. 将WTK根目录设置为主安装文件夹 - 例如c:\ WTK2.5.2;请注意,WTK安装程序显然是为了向后兼容而创建其他文件夹。
  7. 获取Antenna并在MTJ的属性页(在Eclipse中)中设置其位置。
  8. Here's an HelloWorld sample to test the configuration.

    注意:它适用于WindowsXP。 另请注意:这也适用于S60。只需将阶段3中的S40 SDK替换为S60。

答案 1 :(得分:5)

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

  1. 下载并安装Sun的Wireless Toolkit。

  2. 使用"installing via a downloaded archive"方法安装EclipseME。

  3. Configure EclipseME。选择一个通用设备,例如要开发的“DefaultColorPhone”。

  4. 创建一个新项目“J2ME Midlet Suite”

  5. 右键单击该项目,并创建一个新的Midlet“HelloWorld”

  6. 输入代码,例如:

    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();
    }  
    

答案 2 :(得分:2)

对我来说EclipseME最令人讨厌的问题是“破坏”的调试器,它不会启动。这在文档中有所涉及,但是在我第一次安装EclipseME时花了大约一个小时来找到这个技巧,而在一年后我又回到JavaME开发时又花了一个小时,所以我决定在这里分享这些知识。 / p>

如果调试器无法启动,

  1. 打开Eclipse“Preferences”菜单中的“Java> Debug”部分,取消选中“暂停未捕获异常执行”和“暂停执行编译错误”和
  2. 将对话框底部附近的“调试器超时”增加到至少15000 ms。
  3. 之后,Eclipse应该能够连接到KVM并运行附带调试器的midlet。