0

我正在使用HERE maps api开发一个应用程序。我复制并粘贴了我在这里找到的代码,因为我想了解如何使用 api。这是startApp()方法

protected void startApp() throws MIDletStateChangeException {
    System.err.println("1st line of midlet");
    ApplicationContext.getInstance().setAppID("my id here");        
    ApplicationContext.getInstance().setToken("my token here");
    System.err.println("before display");
    Display display = Display.getDisplay(this);     
    MapCanvas mapCanvas = new MapCanvas(display){           
        public void onMapUpdateError(String description,Throwable detail, boolean critical) {               
            // Error handling goes here.            
        }           
        public void onMapContentComplete() {            
        }
    };  
    mapCanvas.getMapDisplay().setState(new MapDisplayState(new GeoCoordinate(52.51, 13.4, 0), 10));     
    display.setCurrent(mapCanvas);
}

当我运行此代码时,我收到以下错误:

  • java.lang.Class.invoke_verify(), bci=0
  • java.lang.Class.initialize(), bci=100
  • java.lang.Class.forName(), bci=0
  • com.sun.midp.main.CldcMIDletLoader.newInstance(), bci=1
  • com.sun.midp.midlet.MIDletStateHandler.createMIDlet(), bci=63
  • com.sun.midp.midlet.MIDletStateHandler.createAndRegisterMIDlet(), bci=17
  • com.sun.midp.midlet.MIDletStateHandler.startSuite(), bci=24
  • com.sun.midp.main.AbstractMIDletSuiteLoader.startSuite(), bci=38
  • com.sun.midp.main.CldcMIDletSuiteLoader.startSuite(), bci=5
  • com.sun.midp.main.AbstractMIDletSuiteLoader.runMIDletSuite(), bci=151
  • com.sun.midp.main.AppIsolateMIDletSuiteLoader.main(), bci=26

问题是什么?请帮助我了解此错误的实际原因。

我已经尝试了 3 个小时的各种事情。

问候

4

1 回答 1

1

这与 API 无关——MIDlet 尚未启动——应用程序在尝试启动时失败。如果您快速在线搜索,com.sun.midp.main.CldcMIDletLoader.newInstance()您会发现类似问题的实例这表明问题出在您的 midlet 配置上。

所以要么遵循这里的建议:

我有几乎同样的错误。在应用程序描述符编辑器中设置正确的名称和类时我的问题解决了(当然是在 eclipse 中)

打开项目 jad 文件并在 Midlets 选项卡中填写正确的信息。(您的 midlet 名称和类名)

或者使用相关代码示例中的代码重新启动,这些代码已经为 Eclipse 和 Netbeans 正确配置了应用程序描述符。我想您很可能已经下载了这些示例,因为它们是Asha SDK 1.0 Beta下载的一部分。在这种情况下,您应该在 下找到它们C:\Nokia\Devices\Nokia_Asha_SDK_1_0\plugins\maps api\example

于 2013-06-11T15:21:36.537 回答