Un premier programme Java pour Pocket PC

Pour bien débuter la programmation Java pour Pocket PC, autant tester par soi-même un premier programme. C'est ce que je vais vous proposer ici en expliquant étape par étape la création d'une programme qui affiche Hello World. Ce tutoriel est destiné aux personnes ayant au moins une première expérience en Java et qui ont déjà utilisé Eclipse et SWT.
Attention, ce tutoriel est basé sur le fait que vous avez un Pocket PC, sinon, vous ne pourrez pas voir le résultat! Je n'ai jamais testé les émulateurs Pocket PC de Microsoft avec les Runtimes Java, je ne suis donc pas en mesure de dire si un programme Java peut être testé sur l'émulateur.
La trousse à outils
Avoir les bons outils pour développer un projet Java pour PocketPC est un point clé pour y parvenir. C'est pour cette raison, qu'il est nécessaire de se procurer les outils suivants:
- Le JDK 1.5 update 2 ou supérieur de Sun.
- L'IDE Eclipse. Vous pourrez le trouver sur le site de la fondation eclipse: http://www.eclipse.org. Choisissez de préférence la version 3.1M5 ou supérieure d'éclipse.
- Le toolkit graphique SWT pour Pocket PC. Choisissez de préférence la même version qu'Eclipse, donc la 3.1M5 également.
- Les runtimes Java d'IBM pour Pocket PC (La dénomination exacte du produit est: WebSphere Everyplace Micro Environment Personal Profile 1.0 for Windows Mobile 2003). Attention, il est nécessaire de s'enregistrer sur le site d'IBM. Les runtimes sont librement téléchargeables pour tester, mais il faut s'acquitter d'une license de 6€ par Pocket PC pour toute autre utilisation! Vous pouvez acheter les runtimes directement sur handango.com.
Installation des produits
L'installation des outils ne demande pas de connaissances particulières, par contre quelques conseils ne feront pas de mal:
- Installer de préférence Eclipse à la racine de votre disque système.
- Lors de l'installation des Runtimes Java pour Pocket PC, il vous sera demandé de connecter votre Pocket PC, si vous ne le faites pas vous devrez installer plus tard le .cab sur votre Pocket PC.
- En ce qui concerne la création de projet sous éclipse pour Pocket PC, il est nécessaire d'être en mode de compatibilité Java 1.4.
Votre premier programme: HelloWorld.iava
Ce premier programme reste très simple puisque nous allons simplement afficher une fenêtre qui a pour titre Hello World sur notre PocketPC !
package org.helyx;
/*
* PocketPC Shell example snippet: resize automatically as SIP is on or off
*
* For a list of all SWT example snippets see
* http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-home/dev.html#snippets
*/
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
public class HelloWorld {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display, SWT.RESIZE);
shell.setText("Hello Wolrd");
Menu mb = new Menu(shell, SWT.BAR);
shell.setMenuBar(mb);
/* Add a button to make the resize more visual */
FillLayout layout = new FillLayout();
shell.setLayout(layout);
Button button = new Button(shell, SWT.PUSH);
button.setText( Main ); shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
Comme vous pouvez le voir, la programmation SWT pour pocket PC est identique à la programmation SWT pour PC. Une tutoriel de la fondation Eclipse (Le code source ci-dessus en est tiré) donne plus d'informations à ce sujet, vous pouvez le trouver à l'adresse suivante: http://www.eclipse.org/articles/Article-small-cup-of-swt/pocket-PC.html.
Installation du programme
Une fois le projet compilé, il faut créer un fichier jar qui contient les fichiers class. Vous pouvez créer ce fichier très simplement, avec l'outil fourni avec le SDK de Sun, avec l'assistant d'export de projet d'Eclipse (décocher tous le fichiers inutiles), ou bien en zippant tout simplement les fichiers classes compilés(Ce n'est pas propre mais c'est simple et ca marche...).
Lors de l'installation de votre premier programme sur Pocket PC, il est nécessaire de faire certaines manipulation sur votre Pocket PC qui sont les suivantes:
- Créer un dossier
\java\lib
à la racine de votre Pocket PC. Ce dossier contiendra l'ensemble des librairies communes à vos différents programmes. - Copier la dll SWT pour Pocket PC dans le dossier
\J9\bin\
de votre Pocket PC. SWT étant un toolkit faisant des appels natifs, il est nécessaire d'installer la dll SWT dans le dossier bin de vos runtimes Java. - Copier la librairie swt.jar dans le dossier
\J9\bin\
. - Créer un dossier
\app\HelloWorld
qui correspond au dossier de votre application. - Copier le programme HelloWorld.jar dans le dossier
\Apps\HelloWorld\
- Attention, J9 n'a pas l'air d'aimer les espaces dans les classpath et bootclasspath, il est donc nécessaire de tester vos lanceurs si vous décidez de ne pas installer les librairies et autres ressources dans des dossiers différents!
- Créer un fichier HelloWorld.lnk
\Apps\HelloWorld\
servant à lancer l'application en mode console (util pour debugger), qui a le contenu suivant :
# \J9\PPRO1O\bin\j9.exe -jcl:pprolO -Xbootclasspath/p:\java\lib\swt.jar -cp \App\HelloWorld\HelloWorld.jar org.helyx.HelloWorld
ou bien pour lancer l'application sans console:
# \J9\PPRO1O\bin\j9w.exe -jcl:pprolO -Xbootclasspath/p:\java\lib\swt.jar -cp \App\HelloWorld\HelloWorld.jar org.helyx.HelloWorld