HTML> Le développement avec J2ME
  Partie 6 : le développement d'applications mobiles Partie 7 : d'autres plug-ins Imprimer Sommaire Consulter avec table des matières Développons en Java avec Eclipse   v 0.80  
Copyright (C) 2003-2007 Jean-Michel DOUDOUX   

 

28. Le développement avec J2ME

 

chapitre 2 8

 

 

28.1. EclipseME

Le but de ce plug-in est de permettre le développement d'applications J2ME reposant sur MIDP en utilisant un Wireless Toolkit.

Les fonctionnalités proposées par ce plug-in sont :

Le site officiel de ce plug-in est à l'url : http://eclipseme.org/

Un JDK 1.4, une version 3.0.x d'Eclipse et un Wireless Toolkit sont des pré-requis pour pouvoir utiliser EclipseMe.

Cette section va mettre en oeuvre les outils suivants sous Windows :

Outil

Version

Rôle

JDK

1.4.2_04

 

Eclipse

3.0.1

IDE

EclipseME

0.75

 

Proguard

3.2

 

J2ME Wireless Toolkit

2.1

Kit de développement J2ME

 

28.1.1. Installation

Pour installer le plug-in, téléchargez le fichier eclipseme.feature_0.7.5_site.zip et enregistrez le dans un répertoire du système.

Il suffit alors de suivre les étapes suivantes :

 

28.1.2. Les préférences du plug-in

Le plug-in propose plusieurs pages pour gérer les options du plug-in lors de son utilisation.

Ces pages se trouvent sous l'arborescence « J2ME ».

Il est possible de configurer le mode « Over the Air » en sélectionnant « J2ME/Over the Air » dans l'arborescence.

EclipseMe peut travailler avec Proguard, un projet open source qui a pour but de proposer un outil pour rendre le code obscurci. Pour cela, il faut sélectionner J2ME/Packaging/Obfuscation

Pour l'utiliser Proguard, il faut télécharger le fichier proguard3.2.zip sur le site http://proguard.sourceforge.net/ et le décompresser dans un répertoire.

Il suffit alors de sélectionner le répertoire qui contient Proguard en cliquant sur le bouton « Parcourir ».

Cet écran permet de configurer le Wireless Toolkit qui sera utilisé avec le plug-in.

Par exemple, pour ajouter le J2ME Wireless Toolkit 2.1, sélectionnez l'option « Add Wireless Toolkit » du menu contextuel de « Wireless Toolkits »

Cliquez sur le bouton « Browse » pour sélectionner le répertoire où le J2ME Wireless Toolkit 2.1 est installé et cliquez sur le bouton « Fin ».

Pour pouvoir utiliser le débogueur d'Eclipse avec un « Wireless Toolkit », il faut modifier les paramètres du débogueur.

Dans les préférences, décochez les deux premières options et modifiez la valeur du délai d'expiration du débogueur pour mettre la valeur 15000.

Cliquez sur le bouton « OK »

 

28.1.3. Création d'un premier exemple

Il faut créer un nouveau projet de type « J2ME/J2ME Midlet Suite ».

Cliquez sur le bouton « Suivant ».

Saisissez le nom du projet et cliquez sur le bouton « Suivant ».

Sélectionnez la plate-forme et cliquez sur le bouton « Suivant ».

La dernière page de l'assistant permet de gérer les paramètres du projet tel qu'il est possible de le faire pour un projet Java classique.

Cliquez sur le bouton « Fin » pour créer le projet.

Ajouter une midlet en créant une nouvelle entité de type « J2ME/J2ME Midlet ».

Cliquez sur le bouton « Suivant ».

La page suivante de l'assistant permet de préciser les caractéristiques de la midlet.

Saisissez le nom du package et le nom de la classe et cliquez sur le bouton « Fin ».

Il faut ensuite saisir le code de la midlet.

Exemple :
package com.jmd.test.j2me; 

import javax.microedition.midlet.*; 
import javax.microedition.lcdui.*; 

public class BonjourMidlet extends MIDlet { 
  private Display display; 
  private TextBox textbox; 
  public BonjourMidlet() { 
    super(); 
    display = Display.getDisplay(this); 
    textbox = new TextBox("", "Bonjour", 20, 0); 
  } 

  /* (non-Javadoc) 
   * @see javax.microedition.midlet.MIDlet#startApp() 
   */ 
  protected void startApp() throws MIDletStateChangeException { 
    display.setCurrent(textbox); 
  } 

  /* (non-Javadoc) 
   * @see javax.microedition.midlet.MIDlet#pauseApp() 
   */ 
  protected void pauseApp() { 
    // TODO Raccord de méthode auto-généré 
  } 

  /* (non-Javadoc) 
   * @see javax.microedition.midlet.MIDlet#destroyApp(boolean) 
   */ 
  protected void destroyApp(boolean arg0) throws MIDletStateChangeException { 
    // TODO Raccord de méthode auto-généré 
  } 
} 

La structure du projet est la suivante :

 

28.1.4. Exécution de l'application

Pour exécuter la midlet, il faut cliquer sur la petite flèche de l'icône  de la barre d'outils.

Il suffit alors de sélectionner « Emulated J2ME Midlet » pour lancer l'application dans l'émulateur.

L'émulateur couleur par défaut est utilisé pour exécuter l'application.

Pour permettre de paramétrer le mode d'exécution de la midlet, il suffit d'utiliser l'option « Exécuter en tant que ... »

L'onglet Midlet permet notamment de préciser le mode d'exécution.

L'onglet Emulation permet de préciser la plate-forme et l'émulateur à utiliser.

 

28.1.5. Déboguer l'application

Pour déboguer l'application, il suffit de placer un point d'arrêt dans le code et de cliquer sur la petite flèche de l'icône  dans la barre de tache.

La perspective « Débogueur » s'ouvre lors de l'exécution de l'instruction contenant le point d'arrêt.

 

28.1.6. Modification des propriétés du descripteur d'application

Une application J2ME est composée de deux fichiers :

EclipseMe propose un éditeur dédié pour éditer le fichier.jad associé à l'application. Pour ouvrir cet éditeur, il suffit de double-cliquer sur le fichier .jad du projet.

Le premier onglet permet de modifier les propriétés obligatoires.

L'onglet Midlets permet de préciser la ou les midlets qui composent l'application.

L'onglet « Optional » permet de préciser des paramètres optionnels.

 

28.1.7. Packager l'application

Pour créer un package de l'application, il faut utiliser l'option « J2ME/Create package » du menu contextuel du projet dans le navigateur.

Les fichiers .jad et .jar sont créés dans le répertoire deployed. Le fichier .jar inclus les classes et les bibliothèques contenues dans le répertoire verified, les ressources (images, son, ...) contenues dans le répertoire res et le fichier manifest généré à partir du fichier .jad à la racine du projet.

Exemple de fichier META-INF/MANIFEST.MF :
Manifest-Version: 1.0 
MIDlet-2: BonjourMidlet,,com.jmd.test.j2me.BonjourMidlet 
MicroEdition-Configuration: CLDC-1.0 
MIDlet-Name: test_J2ME Midlet Suite 
MIDlet-Vendor: Midlet Suite Vendor 
MIDlet-1: ,, 
MIDlet-Version: 1.0.0 
MicroEdition-Profile: MIDP-1.0

Si Proguard est installé et configuré dans le plug-in, il est possible de créer un package obscurci de l'application, il faut utiliser l'option « J2ME/Create obsfucated package » du menu contextuel du projet dans le navigateur.

Plusieurs fichiers sont générés dans le répertoire deployed.

Le fichier test_J2ME_base.jar est le fichier .jar avant l'opération d'obscurcissement. Le fichier test_J2ME_base_obf.jar est le fichier .jar après l'opération d'obscurcissement. Le fichier proguard.cfg contient les options utilisées par Proguard pour réaliser le package.

Exemple :
-libraryjars C:\WTK21\lib\cldcapi10.jar;C:\WTK21\lib\midpapi10.jar 
-injars      C:\java\eclipse31\workspace\test_J2ME\deployed\test_J2ME_base.jar 
-outjar      C:\java\eclipse31\workspace\test_J2ME\deployed\test_J2ME_base_obf.jar 
-printseeds  C:\java\eclipse31\workspace\test_J2ME\deployed\pro_seeds.txt 
-printmapping C:\java\eclipse31\workspace\test_J2ME\deployed\pro_map.txt 
-dontnote -defaultpackage '' 
-keep public class * extends javax.microedition.midlet.MIDlet

Lors de la réalisation du packaging, il est possible d'obtenir ce message d'erreur.

Dans ce cas, il faut modifier les paramètres du JRE définis dans les Préférences d'Eclipse : par défaut Eclipse utilise un JRE et Proguard nécessite un JDK lors de ces opérations.

Sélectionnez le JRE et cliquez sur le bouton « Editer »

Cliquez sur le bouton « Parcourir » associé à « Répertoire racine du JRE »

Il suffit de sélectionner le répertoire qui contient le JDK et de cliquer sur le bouton « OK ».

Cliquez sur le bouton « OK ».

Cliquez encore sur le bouton « Ok » pour fermer la fenêtre des « Préférences ».

 


  Partie 6 : le développement d'applications mobiles Partie 7 : d'autres plug-ins Imprimer Sommaire Consulter avec table des matières Développons en Java avec Eclipse   v 0.80  
Copyright (C) 2003-2007 Jean-Michel DOUDOUX