Développons en Java avec Eclipse 0.80.1 | |
Copyright (C) 2003-2008 Jean-Michel DOUDOUX | (date de publication : 26/12/2008) |
|
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 |
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 :
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 »
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 :
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.
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.
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.
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 ».
|