Page 2 sur 8 L'environnement de développement L'IDE utilisé, Eclipse, propose un éditeur agréable avec le confort habituel des IDE : coloration syntaxique, complétion de code, assistants etc… Le " refactoring " (possibilité par exemple de renommer intelligemment une méthode, un attribut ou paramètre partout dans le code) est un plus agréable.
Le plug-in " Carbide.j " avec le " SDK S40 3rd Edition Feature Pack " permet de créer et régénérer un package application. Le sdk met à disposition un émulateur très proche du téléphone réel. Et chose très utile, il est possible d'utiliser le débuggeur d'Eclipse pour tracer le code de l'application qui s'exécute sur l'émulateur. Figure 1 bis Au commencement fût la MIDlet… Le début de tout développement mobile Java est de créer une MIDlet : une MIDlet est un programme java pour l'informatique embarquée, plus spécifiquement pour les machines virtuelles Java ME (Mobile édition - J2ME en abrégé). Une MIDlet doit se conformer au standard MIDP (Mobile Information Device Profile). MIDP est un ensemble d'APIs J2ME qui définit la façon dont les applications se connectent à l'interface des téléphones cellulaires.
La classe principale de l'application doit être une classe dérivée de la classe " javax.microedition.midlet.MIDlet ". Cette classe permet d'implémenter 3 méthodes : startApp, pauseApp et destroyApp qui seront appelées respectivement au démarrage, à la mise en pause, ou à l'arrêt de l'application. Les APIs disponibles pour le développement J2ME sont à rechercher dans le package javax.microedition. Ensuite la MIDlet doit être packagée dans un fichier " .jar ", ce que Carbide.j permet de faire aisément. L'affichage L'interface utilisateur étant réduite, même si plusieurs MIDlet sont en cours d'exécution à la fois, une seule affiche son écran. La hiérarchie de classe mise en place pour l'interface utilisateur est basée sur la classe Displayable (Voir figure 2). 2 classes abstraites dérivent de cette précédente : Screen et Canvas. Les classes concrètes dérivées de Screen fournissent une API de haut niveau afin de permettre l'affichage de fenêtres. Figure 2 Voici le code pour afficher une boite de dialogue : public class HelloWorldMIDlet extends MIDlet { public void ShowMessage(String aTitre, String aAlertText, AlertType aAlertType) { // Création de la boite de dialogue " Alert " Alert myAlert = new Alert(aTitre, aAlertText, null, aAlertType); // Affichage de la boite de dialogue Display.getDisplay(this).setCurrent(myAlert); } protected void startApp( ) { ShowMessage("Hello world","Hello world",AlertType.INFO); } protected void pauseApp( ) { } protected void destroyApp( boolean p1 ) { } }
|