Детектор состояния аккумулятора Nokia 6600

Мне нужно написать мобильное приложение (мидлет), которое будет работать на Nokia 6600 (SDK 60 2nd Edition CW). цель приложения - обнаруживать перебои в подаче электроэнергии (когда в батарею больше не подается электричество) и регистрировать их.

это мобильное приложение будет состоять из двух модулей:

  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 ++, поэтому мне немного сложно с этим справиться.


person Attilah    schedule 04.08.2009    source источник
comment
Вам абсолютно необходимо настроить таргетинг на Series60 2nd edition? Очень жаль, что так много устройств 6600 все еще используется, поскольку его технология уже довольно устарела.   -  person michael aubert    schedule 05.08.2009
comment
Кроме того, есть ли веская причина, по которой вам вообще нужно использовать J2ME? Казалось бы, как только вы написали сложный бит для отслеживания состояния зарядки и / или уровня заряда батареи в Symbian C ++, тогда регистрация любых прерываний станет простой задачей, а добавление уровня JNI станет просто ненужной сложностью.   -  person Mark Wilcox    schedule 06.08.2009
comment
См. Решение с использованием JSR 256 (Mobile Sensor API) здесь: stackoverflow.com/questions/11604631/   -  person Douglas Frari    schedule 26.07.2012


Ответы (2)


Для этого вам необходимо изучить Symbian C ++. Архитектура MIDP-JNI - это, по сути, сервер Symbian C ++, который прослушивает сокет для подключения Java MIDlet - это ответ на ваш вопрос?

На самом деле вы не можете сделать MIDlet сервером, потому что я не думаю, что они могут работать в фоновом режиме на 6600. В любом случае, как я прокомментировал вышеупомянутый вопрос, для этого нет никаких веских причин вообще использовать Java ME и MIDP-JNI для этого приложения.

person Mark Wilcox    schedule 06.08.2009
comment
Стрелять ! Мне нужно изучить Symbian C ++. Я как-то это уже знал! потому что я хотел использовать J2ME в основном для пользовательского интерфейса, но это означает, что нужно иметь дело с дополнительной сложностью MIDP-JNI. какую-нибудь хорошую книгу / ресурсы для Symbian C ++ порекомендовать? спасибо, Марк. - person Attilah; 07.08.2009
comment
«Быстрые рецепты для Symbian OS» - хорошее место для начала разработки для Symbian C ++, особенно если вам нравится практический примерный подход к обучению. На вики-странице developer.symbian.org также есть много бесплатных ресурсов. Однако обратите внимание, что 6600 сейчас очень старый, и большая часть последней доступной документации и примеров применима только к устройствам S60 3rd Edition и более поздним версиям (многие из них будут работать на более старых устройствах, но, возможно, потребуется некоторая настройка). - person Mark Wilcox; 09.08.2009

В j2me вы можете попробовать

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

Но не уверен, работает ли он на 6600

person Pavel Alexeev    schedule 07.08.2009