2009-08-04 21 views
0

Je dois écrire une application mobile (midlet) qui fonctionnera sur le Nokia 6600 (SDK 60 2nd Edition CW). L'objectif de l'application est de détecter les interruptions de courant (chaque fois qu'il n'y a plus d'énergie électrique dans la batterie) et de les enregistrer.Détecteur d'état de batterie Nokia 6600

cette application mobile sera composé de deux modules:

  1. un module J2ME, principalement pour des trucs d'interface

  2. un Symbian C++ module, qui permet de détecter les événements d'interruption d'alimentation, puis informer le J2ME module qui enregistrera l'événement de panne de courant (heure et autres données, etc ...).

D'après ce que je recueillis sur ce grand site (StackOverflow), je dois utiliser pour permettre à J2ME interract avec le code Symbian C++ MIDP-JNI (http://wiki.forum.nokia.com/index.php/MIDletNativeServicesFramework).

donc ma question est la suivante:

  1. dois-je faire le module Symbian soit le serveur et le module J2ME le client? ou puis-je le faire dans l'autre sens? (parce que je pense que la partie qui détecte les coupures de courant doit être le client et chaque fois qu'il détecte un événement, il appelle le serveur J2ME.)

  2. Est-ce que quelqu'un peut me fournir un échantillon de code? Je ne suis pas un programmeur Symbian C++, donc, il est un peu difficile pour moi de traiter cette question.

+0

Avez-vous besoin absolument cibler Series60 2e édition? Il est regrettable que tant d'unités du 6600 soient encore utilisées car sa technologie est aujourd'hui obsolète. –

+1

En outre, y a-t-il une bonne raison pour laquelle vous devez utiliser J2ME? Il semblerait qu'une fois que vous avez écrit le bit «difficile» pour surveiller l'état de charge et/ou le niveau de la batterie dans Symbian C++, la journalisation des interruptions devient un jeu d'enfant et l'ajout d'une couche JNI est une complexité inutile. –

+0

Voir la solution en utilisant JSR 256 (Mobile Sensor API) ici: http://stackoverflow.com/questions/11604631/control-volume-code-for-j2me/11615631#11615631 –

Répondre

2

Vous aurez besoin d'apprendre Symbian C++ pour cela. l'architecture pour MIDP-JNI est essentiellement un serveur Symbian C++ écoute sur une prise pour la connexion d'un MIDlet Java - est-ce que cela répond à votre question?

Vous ne pouvez pas vraiment faire du MIDlet un serveur parce que je le fais Je ne pense pas qu'ils puissent fonctionner en arrière-plan sur un 6600. En tout cas, comme je l'ai commenté sur la question ci-dessus, il ne semble pas y avoir de bonne raison d'utiliser Java ME et MIDP-JNI du tout pour cette application.

+0

Shoot! Je dois apprendre Symbian C++. Je le savais déjà! parce que je voulais utiliser J2ME principalement pour l'interface utilisateur, mais l'utiliser signifie gérer la complexité ajoutée de MIDP-JNI. tout livre/ressources pour Symbian C++ à recommander? merci Mark. – Attilah

+0

Recettes rapides sur Symbian OS est un bon endroit pour commencer le développement de Symbian C++, en particulier si vous aimez l'approche pratique de l'apprentissage. Il y a aussi beaucoup de ressources gratuites sur le wiki developer.symbian.org.Cependant, notez que le 6600 est extrêmement ancien maintenant et que la plupart des documents et exemples récents ne s'appliquent qu'aux appareils S60 3rd Edition et aux versions ultérieures (beaucoup fonctionneront sur des appareils plus anciens mais il faudra peut-être les peaufiner). –

1

J2ME vous pouvez essayer

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

Mais je ne suis pas sûr si cela fonctionne sur 6600