LWUIT 应用程序无法在 Blackberry 设备中启动

Posted

技术标签:

【中文标题】LWUIT 应用程序无法在 Blackberry 设备中启动【英文标题】:LWUIT app doesn't start in a Blackberry device 【发布时间】:2012-01-31 16:42:41 【问题描述】:

我很绝望。

我正在使用资源编辑器在 LWUIT 中开发一个应用程序。我的项目在 MIDP 版本中运行良好,无论是在模拟器上还是在设备上。但是当我开始在黑莓中测试我的应用程序时发现我的问题。该应用程序在模拟器中完美运行,但无法在设备中启动。它不给出错误消息,什么也不说。我尝试使用来自 LWUIT SVN 的 jar 或从资源编辑器 (UI_RIM_Touch.jar) 生成的其他 jar 更改 UI_RIM.jar,但没有任何变化。我不知道 htttpConnections 或 FileConnections 是否会导致此问题。我有 2 个黑莓型号,Torch 和 Bold。两者都不起作用。

为了开发这个应用程序,我使用的是 Netbeans 和 LWUIT 1.5

如果你需要看一些代码,告诉我你想要什么,我会发布它

谢谢

编辑

有时,我启动应用程序并在 30/45 分钟后出现下一条消息“midlet 构造函数中引发未捕获的异常:userclasses.MainMIDlet”。我不知道是什么问题。

【问题讨论】:

【参考方案1】:

RIM 是地狱般的工作,我感觉到你的痛苦......Codename One 将在这方面有所帮助。

一般来说,这听起来像以下之一:

    您创建了 MIDlet 而不是 UiApplication。确保您的类派生 UiApplication 并具有初始化该类的公共静态 void main(String[] args) 方法。还要确保课程是公开的!

    在编译期间,您没有将应用程序定义为 cldc 应用程序,而是将其保留为 MIDlet。我们在资源编辑器生成的文件中编辑了 build.xml 以调用正确的版本。

    您使用比目标设备更新的 JDE 进行编译。

检查 alt-lglg 日志以查看是否有任何错误或消息。

【讨论】:

感谢@ShaiAlmog 回答我的问题。但仍然无法正常工作。我检查了第 1 步。我正在使用由资源编辑器生成的 MIDlet,它似乎没问题。在第 2 步中,如何将我的应用程序仅定义为 cldc?修改 build.xml?如何?。第 3 步:我正在使用 JDE 4.2.1 进行编译。 (我需要代号一!!!!!);-) 您使用的是 MIDlet 还是 Blackberry 应用程序?资源编辑器会生成一个特定于黑莓的应用程序,它应该可以按预期工作。如果您使用的是 4.2.1,则代码仅适用于具有 OS 4.2.1 及更高版本的非触控设备。 我正在使用资源编辑器提供给我的特定应用程序,但它不起作用。我正在使用 4.2 编译应用程序,并将其安装在操作系统较新 JDE 的 BB Bold 中。 如果您收到未捕获的异常错误,那么您的 MIDlet 将因异常而失败。找出真正痛苦的原因以及 RIM 的实施与其他一切之间的区别是痛苦的巨大来源。将所有内容包装在 try catch 中,记录每个异常(printStackTrace 允许您在设备日志中查看“堆栈”)并确保如果您有类成员字段,它们是在构造函数中而不是在类中初始化的,例如而不是定义一个 Button b = new Button();将其定义为按钮 b;并稍后初始化,否则如果失败,您将无法捕获异常。 我试图这样做。但我认为,异常必须在 StateMachineBase 内部。我尝试更改资源编辑器提供的 IO 和 UI,并从 LWUIT 主干中放置 IO_RIM 和 UI_RIM,但我没有得到任何改进。我不明白为什么它在模拟器中工作并且在设备中不起作用。我没有更多的想法

以上是关于LWUIT 应用程序无法在 Blackberry 设备中启动的主要内容,如果未能解决你的问题,请参考以下文章

在 Wireless Toolkit 2.5.2 上调用 destropApp() 后无法重新启动 LWUIT 应用程序?

无法在 Blackberry 应用程序中创建文本输入

BlackBerry - 无法将正在运行的应用程序置于前台

如何在 LWUIT 中的表单之间切换

LWUIT 资源编辑器:创建按钮

如何从 LWUIT 中删除返回命令