【问题标题】:Nokia 6600 battery status detecter诺基亚 6600 电池状态检测器
【发布时间】:2014-03-27 12:38:02
【问题描述】:

我需要编写一个可在诺基亚 6600(SDK 60 2nd Edition CW)上运行的移动应用程序(midlet)。 该应用程序的目标是检测电源中断(只要没有更多的电力进入电池)并记录下来。

这个移动应用程序将由两个模块组成:

  1. 一个J2ME模块,主要做接口的东西

  2. Symbian C++ 模块,它将检测电源中断事件,然后通知 J2ME 模块将记录电源故障事件(时间和其他数据等)。

根据我在这个很棒的网站 (StackOverflow) 上收集到的信息,我必须使用 MIDP-JNI (http://wiki.forum.nokia.com/index.php/MIDletNativeServicesFramework) 来允许 J2ME 与 Symbian C++ 代码交互。

所以我的问题是:

  1. 我应该让 Symbian 模块成为服务器,让 J2ME 模块成为客户端吗?或者我可以反过来做吗? (因为我认为检测电源中断的部分应该是客户端,当它检测到事件时,它会调用J2ME服务器。

  2. 谁能给我一个代码示例?我不是 Symbian C++ 程序员,所以处理这个对我来说有点困难。

【问题讨论】:

  • 您是否绝对需要针对 Series60 第 2 版?很遗憾,6600 的许多单元仍在使用,因为它的技术现在已经过时了。
  • 另外,您有什么充分的理由需要使用 J2ME 吗?似乎一旦您在 Symbian C++ 中编写了“困难”位来监控充电状态和/或电池电量,那么记录任何中断将变得轻而易举,而添加 JNI 层只是不必要的复杂性。
  • 在此处查看使用 JSR 256(移动传感器 API)的解决方案:stackoverflow.com/questions/11604631/…

标签: java java-me symbian nokia midp


【解决方案1】:

为此,您需要学习 Symbian C++。 MIDP-JNI 的架构基本上是一个 Symbian C++ 服务器,它在一个套接字上侦听 Java MIDlet 的连接——这能回答您的问题吗?

您不能真正使 MIDlet 成为服务器,因为我认为它们不能在 6600 上在后台运行。无论如何,正如我对上述问题所评论的那样,似乎没有完全有理由为此应用程序使用 Java ME 和 MIDP-JNI。

【讨论】:

  • 开枪!我必须学习 Symbian C++。我不知何故已经知道了!因为我想主要将 J2ME 用于 UI 的东西,但使用它意味着处理 MIDP-JNI 的附加复杂性。 Symbian C++ 有什么好书/资源可以推荐吗?谢谢马克。
  • Symbian OS 上的快速食谱是开始 Symbian C++ 开发的好地方,特别是如果您喜欢动手学习的示例方法。 developer.symbian.org wiki 上也有很多免费资源。但是,请注意,6600 现在已经非常老了,并且大多数最近可用的文档和示例仅适用于 S60 3rd Edition 和更高版本的设备(其中很多可以在旧设备上运行,但可能需要一些调整)。
【解决方案2】:

在 j2me 你可以试试

System.getProperty("com.nokia.mid.batterylevel");

但我不确定它是否适用于 6600

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-14
    • 2023-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多