J2ME Développement «Hello World» is back
Cycle de création d une MIDlet (1) Conception (2) Réalisation / Écriture du code (3) Compilation (4) Pré vérification (5) Construction du package (6) Test (7) Déploiement 2
(1) Conception Beaucoup de choses à prendre en compte par rapport à une application classique (interaction avec l utilisateur par exemple) Pour une petite application, la conception peut être sommaire, mais pour une application avec de nombreux écrans, il faut une réelle réflexion. 3
(2) Écriture du code Chaque MIDlet doit hériter de la classe abstraite MIDlet située dans le package javax.microedition.midlet. Au minimum, la MIDlet doit implémenter les trois méthodes abstraites de cette classe : startapp() pauseapp() destroyapp(boolean unconditional) 4
(2) Écriture du code Lancement de l application par l Application Management Software AMS (AMS) new() Les différents états d une MIDlet 5
(2) Écriture du code Fichier HelloWorldApp.java 6
(3) Compilation Processus différent d une application classique Utilisation de javac en changeant le boot classpath. Change les classes de bases utilisées lors de la compilation. C:\WTK23\exo>javac -bootclasspath..\lib\cldcapi11.jar;..\lib\midpapi20.jar HelloWorldApp.java Utiliser source 1.4 target 1.4 pour le jdk 1.5 7
(4) Pré vérification Première partie, côté développeur, d une vérification de la validité des classes en deux étapes. C:\WTK23\exo>..\bin\preverify.exe -classpath..\lib\cldcapi11.jar;..\lib\midpapi20.jar HelloWorldApp Résultat dans le répertoire output 8
(5) Construction du package Création du manifeste pour décrire le contenu de l archive JAR. MIDlet-Name: HelloWorld Suite MIDlet-Version: 1.0.0 MIDlet-Vendor: Concept IT MicroEdition-Profile: MIDP-2.0 MicroEdition-Configuration: CLDC-1.1 retour a la ligne impératif Fichier Manifest.mf à placer dans le répertoire C:\WTK23\exo\output 9
(5) Création du package Création de l archive JAR C:\WTK23\exo> jar cvfm HelloWorldApp.jar Manifest.mf *.class Enfin, créer un fichier avec l extension.jad pour Java Application Descriptor. Ce fichier pointe vers l application et la décrit afin que l appareil l installe. 10
(5) Création du package HelloWorldApp.jad MIDlet-1: HelloWorld,, HelloWorldApp MIDlet-Name: HelloWorld Suite MIDlet-Version: 1.0.0 MIDlet-Vendor: Concept IT MIDlet-Jar-URL: HelloWorldApp.jar MIDlet-Jar-Size: MicroEdition-Profile: MIDP-2.0 MicroEdition-Configuration: CLDC-1.1 Donner la taille exacte à l octet près 11
(5) Création du package A noter que l on peut : Ajouter des attributs dont la valeur sera lue par la MIDlet signer l archive réaliser une «obfuscation» 12
(6) Test Pour tester, on utilise l émulateur disponible dans le Wireless Toolkit C:\WTK23\exo\output>..\..\bin\emulator.exe -Xdescriptor HelloWorldApp.jad 13
(7) Déploiement Deux solutions : Entre votre PC et l appareil (USB, bluetooth, infrarouge) Par Internet si votre mobile peut s y connecter Par internet : Disposer d un serveur web Avoir les privilèges pour ajouter deux types MIME pour le JAR et le JAD 14
(7) Déploiement Serveur Pour apache, voici les lignes à ajouter : text/vnd.sun.j2me.app-descriptor jad application/java-archive jar Créer une page HTML <HTML> <a href="hellowordapp.jad">téléchargez</a> </HTML> Modifier le JAD MIDlet-Jar-URL: http://www.conceptit.fr/j2me/helloworldapp.jar 15
(7) Déploiement OTA Client Simulation avec le WTK 16
(7) Déploiement OTA Client 17
(7) Déploiement OTA Client 18
Environnements de développement Sun J2ME Wireless Toolkit http://java.sun.com/products/sjwtoolkit/index.html gratuit interface graphique + automatisation de la construction et du packaging de MIDlets solution relativement légère Borland JBuilder (ex MobileSet ) http://www.borland.com/jbuilder/ 19
Environnements de développement Plugin Eclipse : EclipseME http://eclipseme.org/ gratuit NetBeans / NetBeans Mobility http://www.netbeans.org gratuit concepteur d interfaces graphiques 20