2009-08-04 78 views
0

我需要編寫一個將在諾基亞6600(SDK 60 2nd Edition CW)上運行的移動應用程序(midlet)。 該應用程序的目標是檢測電源中斷(只要沒有更多的電力進入電池)並記錄它們。諾基亞6600電池狀態檢測器

這個移動應用將包括兩個模塊:

  1. 一個J2ME模塊,主要用於接口東西

  2. 一個Symbian C++模塊,將檢測電源中斷事件,然後通知J2ME模塊將記錄電源故障事件(時間和其他數據等)。

從我收集的關於這個偉大的網站(StackOverflow上),我必須使用MIDP-JNI(http://wiki.forum.nokia.com/index.php/MIDletNativeServicesFramework)允許J2ME到與Symbian C++代碼interract。

所以我的問題是:

  1. 我應該做了Symbian模塊是服務器和J2ME模塊的客戶端?或者我可以用另一種方式做到嗎? (因爲我認爲檢測電源中斷的部分應該是客戶端,只要它檢測到事件,它就會調用J2ME服務器。

  2. 任何人都可以提供代碼示例嗎?我不是Symbian C++程序員,所以,這是一個有點困難,我來處理這個問題。

+0

你絕對需要爲目標的Series60第二版?不幸的是,6600的這麼多單位仍在使用中,因爲它的技術現在已經過時了。 – 2009-08-05 15:44:13

+1

另外,爲什麼您需要使用J2ME,是否有充分的理由?看起來,一旦你編寫了「困難」的位來監控Symbian C++的充電狀態和/或電池電量,那麼記錄任何中斷將變得輕而易舉,添加JNI層只是不必要的複雜性。 – 2009-08-06 08:29:48

+0

請參閱此處使用JSR 256(Mobile Sensor API)的解決方案:http://stackoverflow.com/questions/11604631/control-volume-code-for-j2me/11615631#11615631 – 2012-07-26 15:14:07

回答

2

你需要學習的Symbian C++這一點。對於MIDP-JNI的架構基本上是一個Symbian C++服務器監聽套接字連接一個Java MIDlet - 是否回答你的問題?

你不能真的讓MIDlet成爲服務器,因爲我不認爲他們可以在6600的後臺運行。無論如何,正如我在上面的問題中評論的那樣,似乎沒有任何理由使用Java ME和MIDP-JNI應用。

+0

拍攝!我必須學習Symbian C++。我不知何故已經知道它! ,因爲我想主要將J2ME用於UI,但是使用它意味着要處理MIDP-JNI增加的複雜性。 Symbian C++推薦的任何好書/資源?謝謝馬克。 – Attilah 2009-08-07 15:11:53

+0

Symbian OS上的快速配方是開始使用Symbian C++開發的好地方,特別是如果您喜歡親身示例的學習方法。 developer.symbian.org wiki上還有大量免費資源。但是,請注意,6600現在已經非常老了,大多數最新的文檔和示例僅適用於S60 3rd Edition及更高版本的設備(其中大部分適用於較舊的設備,但可能需要進行一些調整)。 – 2009-08-09 12:59:38

1

在J2ME中,你可以嘗試

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

但我不知道這是否適用於6600