Hier erfahren Sie, wie man J2ME MIDP-Anwendungen erstellt und testet, und wie das J2ME Wireless Toolkit, ein kostenloses Tool von Sun, dabei hilfreich sein kann.
In einem früheren Artikel[1] wurde eine einfache Java Micro Editon Applikation für das weit verbreitete Mobile Information Device Protocol (MIDP) vorgestellt. Es wurde darauf hingewiesen, dass die zur Kompilierung und zum Einsatz einer MIDP-Applikation benötigten Schritte sich von denen unterscheiden, die zum Einsatz einer typischen Standard-Edition-Applikation nötig sind. Heute schauen wir uns diese Schritte näher an.
Was ist nötig?
Wer es noch nicht hat, sollte sich die Referenz-Implementierungen des Connected Limited Device Configuration (CLDC)[2] und MIDP[3] herunterladen und installieren, welche die zum Erstellen von J2ME-Applikationen nötigen Pakete und Kommandozeilen-Tools sowie einige Emulatoren zum Testen der Ergebnisse enthalten. Außerdem sollte man das J2ME Wireless Toolkit[4] von Sun herunterladen, das in das Forte IDE integriert oder als Stand-Alone-Tool verwendet werden kann. Das Wireless Toolkit liefert eine nette grafische Benutzeroberfläche (GUI) für die benötigten Kommandozeilen-Tools und einige rudimentäre Tools für Code-Management und Konfiguration.
Was ist also das Besondere dabei? Was ist der große Unterschied zum Aufbau für J2ME? Es gilt in Betracht zu ziehen, dass MIDP-Geräte allgemein über sehr begrenzten Speicher verfügen (ein ständig wiederkehrendes Thema, nicht wahr?) - daher mussten einige Zugeständnisse bezüglich der auf der Plattform angebotenen Laufzeit-Unterstützung gemacht werden. Der große Unterschied zum Aufbau und Einsatz besteht darin, dass es für die MIDP-Implementierung keinen Laufzeit-Class-Verifier gibt. Nachdem der Code kompiliert ist, muss er, bevor er auf einem MIDP-Gerät ausgeführt werden kann, mit dem Tool Preverify.exe vor-überprüft werden. Außerdem müssen über einen Kommandozeilen-Schalter auf den Java-Compiler völlig andere Klassenbibliotheken und Startup-Dateien integriert werden. Das Wireless Toolkit, dargestellt in Abbildung A, kann diese zusätzlichen Schritte ausführen, so dass man sie nicht selbst zu erledigen braucht.

Abbildung A: Das Java Wireless Toolkit wird KToolbar genannt.
Der Aufbau einer Applikation mit dem Wireless Toolkit besteht aus fünf einfachen Schritten:
- Starten Sie das Toolkit, was allerdings einfacher gesagt als getan ist. Falls Sie sich nicht auskennen - was beim ersten Mal wahrscheinlich ist -, suchen Sie nach dem Programm KToolbar.
- Mittels der Schaltfläche Create Project erstellen Sie ein neues Projekt. Daraufhin werden Sie nach einem Namen für das Projekt gefragt und nach dem Namen der Haupt-MIDlet-Klasse, die zum Start der Applikation ausgeführt werden soll. Das Toolkit erstellt ein Verzeichnis für das Projekt und verwendet dafür den angegebenen Projekt-Namen.
- Überprüfen Sie, dass die angezeigten Projekt-Eigenschaften korrekt sind. Auf diese werden wir in Kürze näher eingehen.
- Schreiben Sie den Java-Source-Code mit Ihrem Lieblings-Editor oder IDE (oder kopieren Sie bereits existierenden Code), und speichern Sie ihn in das Unterverzeichnis src, dass sich im Haupt-Projektordner befindet.
- Verwenden Sie die Schaltfläche Build, um Ihre Applikation zu bauen, und benutzen sie die Schaltfläche Run, um sie im Geräte-Emulator Ihrer Wahl zu testen. Für den Palm Geräte-Emulator muss man ein ROM-Image herunterladen, alle anderen sind jedoch bereits in die MIDP- und CDC-Implementierungen integriert.
MIDP-Applikationen sind in Suites organisiert, die eine oder mehrere MIDP-Applikationen enthalten können. Jede MIDP-Suite wird in Form eines Java-Archives oder einer JAR-Datei vertrieben (die mithilfe des Befehls Project | Package auch vom Wireless Toolkit erstellt werden kann). Wer sich bereits ernsthaft mit Java-Entwicklung beschäftigt hat, ist möglicherweise schon mit JAR-Dateien vertraut. Falls nicht, kann man sich auf Suns offizieller Java-Website[5] darüber informieren. Jedes JAR verfügt über einen Manifest genannten Teil, der Informationen über die in der Datei enthaltenen Klassen liefert. Die Dialogbox Project Settings, die direkt nach dem Erstellen eines neuen Projekts im Wireless Toolkit erscheint, ermöglicht es Ihnen, den Inhalt dieser Manifest-Datei zu definieren. Manifeste unterstützen neun Attribute, von denen sechs für jede MIDP-Applikation definiert werden müssen. Diese notwendigen Attribute sind in Abbildung B dargestellt.

Abbildung B: Notwendige JAR-Manifest-Attribute. Zumindest diese sollten vorhanden sein.
Eine MIDP-Suite kann auch mit einer Java Application Descriptor (JAD)-Datei ausgestattet sein. Die JAD-Datei beherbergt zusätzliche Konfigurations-Informationen über Anwendungen, und auf sie kann zur Laufzeit einer Anwendung mit Hilfe der Methode MIDlet.getAppProperty zugegriffen werden. JAD-Dateien sollte man sich als Text-basierte Konfigurations-Dateien vorstellen (eine Windows INI-Datei ist ein guter Vergleich). Wie JAR-Manifeste benötigen auch JADs ein Set von sechs Attributen. Diese sind in Abbildung C aufgelistet.

Abbildung C: Notwendige JAD-Attribute. Einige davon sollten bereits vertraut aussehen.
Es fällt auf, dass einige Attribute in beiden Dateien vorhanden sein müssen. Die für diese doppelten Attribute angegebenen Werte müssen einander ganz genau entsprechen. Wenn nicht, weigert sich der Application-Manager die Suite zu laden. Zwar sorgt das Wireless Toolkit dafür - falls man jedoch einmal ein JAR-Manifest oder eine JAD-Datei manuell bearbeiten muss, sollte man daran denken.
Im früheren Artikel wurde der Code für eine einfache "Hello World"-Anwendung zur Verfügung gestellt. Keine Sorge, man muss diesen Code jetzt nicht herauskramen, Sie finden ihn in Listing A[6]. Gehen wir nun den Prozess des Aufbaus und des Ausführens einer Applikation mit Hilfe des Wireless Toolkit durch.
Erstellen Sie zunächst ein neues Projekt und nennen Sie es HelloJ2ME. Der Name des MIDlet sollte auch HelloJ2ME lauten. Danach erscheint die Dialogbox, in der man die Attribute für die JAR- und JAD-Dateien angeben kann. Die in Abbildung D dargestellten Standard-Einstellungen sollten korrekt und für die Kreation einer funktionierenden Anwendung ausreichend sein.

Abbildung D: Projekt-Einstellungen für HelloJ2ME. Ihre Einstellungen sollten etwa so aussehen.
(Abbildung vergrößern[7])
Nachdem man die Projekt-Einstellungen angegeben hat, erstellt das Toolkit einen Projektordner und verlangt, dass man den Quellcode im Unterordner src platziert. Speichern Sie den Code aus Listing A als HelloJ2ME.java in diesen Unterordner, und klicken Sie dann auf die Schaltfläche Build. Unter der Voraussetzung, dass mein Code korrekt ist (was zum Teil von meinem Koffeinspiegel an dem Tag, an dem ich ihn geschrieben habe, abhängt), sollte er problemlos kompilieren. Dann kann man Run klicken und HelloJ2ME aus dem Anwendungs-Menü im Emulator auswählen (klicken Sie einfach auf die Schaltfläche unter Launch), und schon sieht man die Früchte seiner Arbeit, wie in Abbildung E dargestellt.
![]() Abbildung E: HelloJ2ME wird ausgeführt. |
Abbildung E zeigt den standardmäßigen Emulator DefaultGreyPhone. Mit Hilfe der Device Combo Box im Hauptfenster des Toolkit lassen sich jedoch auch andere Emulatoren auswählen. Die meisten Emulatoren werden über Befehlsknöpfe verfügen, die ähnlich arbeiten wie die unter dem Display von DefaultGreyPhone. Man muss vielleicht etwas Erkundungsarbeit leisten - achtet man jedoch auf die weiße Markierung, welche die Knöpfe identifiziert, wenn man mit der Maus darüber fährt, wird man sie schließlich finden. Fragen Sie mich aber bitte nicht, wie man den Emulator Blackberry RIMJavaHandheld bedient - bei diesem habe ich es selbst noch nicht herausgefunden.
Da wir nun die Grundlagen abgehandelt haben, werde ich Sie in der Zukunft mit einigen weiteren Artikeln durch eine etwas komplexere Anwendung führen. Bis dahin: Fröhliches Codieren!
URLs in diesem Artikel:
[1] = http:/
[2] = http:/
[3] = http:/
[4] = http:/
[5] = http:/
[6] = http:/
[7] = wireless_
