IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Le développement avec J2ME

 

Développons en Java avec Eclipse   0.80.1  
Copyright (C) 2003-2008 Jean-Michel DOUDOUX    (date de publication : 26/12/2008)

[ Précédent ] [ Sommaire ] [ Suivant ] [Télécharger ]      [Accueil ]

 

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 support de plusieurs Wireless Toolkit
  • Un assistant de création de projets de type Midlet Suite
  • Un assistant de création de Midlets
  • Un éditeur pour les fichiers .jad
  • Une compilation incrémentale avec pré-vérification
  • Le débogage du code des Midlets
  • L'exécution dans les émulateurs fournis avec le WirelessToolkit
  • La création d'un package pour les applications J2ME
  • La création d'un package obscurci avec Proguard
  • Le support du mode « Over The Air »

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 :

  • Utilisez l'option « Mise à jour de logiciels/Rechercher et installer » du menu Aide.
  • Sélectionnez « Rechercher les nouveaux dispositifs à installer » et cliquez sur le bouton « Suivant »
  • Cliquez sur le bouton « Nouveau site archivé »
  • Sélectionnez le fichier et cliquez sur « Ouvrir »
  • Dans l'arborescence des sites, sélectionnez eclipseme.feature_0.7.5_site.zip et cliquez sur le bouton « Suivant »
  • Sélectionnez les dispositifs « EclipseMe » et « eclipseme.features.siemens »
  • Lisez la licence et si vous l'acceptez cliquer sur « J'accepte les termes du contrat » et cliquez sur le bouton « Suivant »
  • Cliquez sur le bouton « Fin »
  • Lors de l'affichage de la boîte de dialogue « Vérification du dispositif », cliquez sur le bouton « Installer »
  • Acceptez de relancer le plan de travail.

 

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 :

  • Un fichier .jar qui contient l'exécutable
  • Un fichier .jad qui contient des informations que l'application

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 ».

 

 


[ Précédent ] [ Sommaire ] [ Suivant ] [Télécharger ]      [Accueil ]

Copyright (C) 2003-2008 Jean-Michel DOUDOUX. Vous pouvez copier, redistribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU, Version 1.1 ou toute autre version ultérieure publiée par la Free Software Foundation; les Sections Invariantes étant constitués du chapitre Préambule, aucun Texte de Première de Couverture, et aucun Texte de Quatrième de Couverture. Une copie de la licence est incluse dans la section GNU FreeDocumentation Licence. La version la plus récente de cette licence est disponible à l'adresse : GNU Free Documentation Licence.