Allgemein
MIDlets ( MID=Mobile Information Device) kann man sich als
Applets für mobile Geräte mit geringer Prozessorleistung und kleinem Display
vorstellen. MIDlets müssen zur Verwendung auf dem Endgerät als JAR-Archive
vorliegen, die alle benötigten Klasse, Bilder etc. bereits enthalten.
Zum entwickeln von Java-2-Micro-Edition-Applikationen (J2ME) unter Windows wird
das J2ME Wireless-Toolkit benötigt. Die aktuelle Version kann sich von www.sun.com
kostenlos heruntergeladen werden.
Das J2ME Wireless Toolkit V2.2 (17MB) setzt die Installation des J2SE
SDK V1.4.2 (53MB) voraus.
Nach der Installation des SDKs und anschließend des WTKs können
mitgelieferte MIDlet-Demos gestartet werden:
- Aufruf von "Start -> Programme -> J2ME Wireless Toolkit 2.2
-> Run MIDP Application ...
- in dem Dateiauswahlfenster nach "C:\WTK22\apps\?????\bin"
wechseln
- die *.jar-Datei auswählen und starten
- es öffnet sich ein Emulatorfenster, das mit der Maus bedient werden kann
(durch Betätigen der Handytasten)
Zum Erstellen von MIDlets geht man wie folgt vor:
- Aufruf von "Start -> Programme -> J2ME Wireless Toolkit 2.2
-> KToolbar
- "New Project" auswählen und in dem dann erscheinenden Fenster
den Namen des Projektes und den Namen der MIDlet-Klasse eingeben. Im darauf
folgenden Fenster können die voreingestellten Eigenschaften des MIDlets
geändert werden. Nach Bestätigen mit OK erscheint unter
"C:\WTK22\apps" ein neuer Ordner mit dem entsprechenden
Projektnamen. Die wichtigsten Unterordner sind:
- \bin (enthält die *.jad-Datei und die "MANIFEST.MF".
Nach Klick auf "Project->Package->create Package"
später auch noch die, für die Ausführung oder Installation des
MIDlets benötigte, *.jar-Datei)
- \res (in diesen Ordner müssen alle für das MIDlet benötigten
Resourcen wie Bilder, Töne etc. kopiert werden)
- \src (in diesen Ordner müssen alle *.java-Dateien des MIDlets kopiert
werden)
Nach dem erfolgreichen Compilieren der *.java-Dateien mit "Build"
befindet sich in dem Projektordner noch ein Ordner \classes, in dem sich die
Compilierten Dateien befinden.
- Nach erfolgreichem, fehlerfreien Compilieren kann das MIDlet durch Klick
auf "Run" im Emulator getestet werden.
Wichtig ist, das der Name der MIDlet-"Haupt"-Klasse auch mit dem,
bei "New Project" eingegebenen, MIDlet-Klassennamen übereinstimmt.
Leider lässt sich beim Emulator nicht die Größe des Displays ändern. Auch
ist die Darstellung der Ausgabe nicht auf allen Handys identisch. Will man
sicher gehen, wie das Ergebnis auf einem bestimmten Handytyp aussieht, muss man
sich den entsprechenden Emulator des Herstellers herunterladen. Für das Nokia
6600 z.B. gibt es die "Nokia Developer's Suite 2.2 for J2ME" (48MB)
die man sich unter www.nokia.de kostenlos
herunterladen kann. Es ist lediglich eine Registrierung im Nokia-Forum nötig.
Während der Installation wird noch eine Seriennummer benötigt, die Online,
nach Eingabe der Forum-Zugangsdaten, übertragen wird. Nach der Installation und
dem Start der "Developer's Suite", klickt man auf "Start
Emulators". Hier kann der Nokia 6600- und/oder 6230-Emulator ausgewählt
werden. Im Dateiauswahlfeld muss der Pfad zu der zu testenden *.jad-Datei
gesetzt werden. Jetzt kann der Emulator mit Klick auf "Emulate"
gestartet werden.
- Ein einfaches MIDlet
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class HelloWorld
extends MIDlet {
TextBox textbox;
//Konstruktor, wird beim ersten Start des MIDlets
aufgerufen
public
HelloWorld(){
textbox =
new TextBox("",
"Hallo Welt",
0, 0);
}
//wird beim
Start des MIDlets aufgerufen, oder wenn es durch ein
//anderes Programm vorübergehend überlagert wurde
public void
startApp(){
Display.getDisplay(this).setCurrent(textbox);
//zeige "textbox" auf dem Display
}
//wird aufgerufen, wenn das MIDlet in
den Hintergrund verschwindet
// z.B. bei einem ankommenden Anruf
public void
pauseApp() {
}
//wird beim
Beenden des MIDlets aufgerufen
public void
destroyApp(boolean
b) {
}
}
- Ein einfaches MIDlet mit 2 Klassen
1. Klasse (HelloWorld.java):
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class HelloWorld2
extends MIDlet {
Anwendung
a;
public
HelloWorld(){
a =
new Anwendung(this);
}
public void
startApp(){
Display.getDisplay(this).setCurrent(a);
}
public void
pauseApp() {
}
public void
destroyApp(boolean
b) {
}
}
2.Klasse (Anwendung.java):
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class Anwendung
extends Canvas{
MIDlet
midlet;
Display display;
public
Anwendung(MIDlet
midlet_){
midlet=midlet_;
display=Display.getDisplay(midlet);
}
public void
startApp(){
}
public void
pauseApp() {
}
public void
destroyApp(boolean
b) {
}
public void
paint(Graphics g) {
g.drawString("Hallo
Welt",50,
50 , Graphics.TOP|Graphics.LEFT);
}
}
|