Programmierung

Java-MIDlets


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:

  1. Aufruf von "Start -> Programme -> J2ME Wireless Toolkit 2.2 -> Run MIDP Application ...
  2. in dem Dateiauswahlfenster nach "C:\WTK22\apps\?????\bin" wechseln
  3. die *.jar-Datei auswählen und starten
  4. es öffnet sich ein Emulatorfenster, das mit der Maus bedient werden kann (durch Betätigen der Handytasten)

 

J2ME-Emulator


Zum Erstellen von MIDlets geht man wie folgt vor:

  1. Aufruf von "Start -> Programme -> J2ME Wireless Toolkit 2.2 -> KToolbar
  2. "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. 

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

 

  1. 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 MID
    lets 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) {
      }
    }



  2. 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);
      }
    }




http://www.counter-service.de http://www.counter-service.de
Home
uebermich
Programmierung
Amateurfunk
Elektronik
Download
Links
E-Mail
Gästebuch/Meckerecke
Counter-DG1XPZ