Back Tabla de contenidos
Next
Capitulo 8.1: Empaquetando multiples MIDlets en el MIDlet Suite

1) Fichero fuente para MIDlet1.java

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MIDlet1 extends MIDlet implements CommandListener {
    private Display display;                                // Referencia al objeto Display
    private TextBox tbxMain;                            // TextBox para visualizar un mensaje
    private Command cmdExit;                         // Comando para salir del MIDlet
    // Constructor
    public MIDlet1() {
        display = Display.getDisplay(this);
        cmdExit = new Command("Exit", Command.SCREEN, 1);
        tbxMain = new TEXTBox("MIDlet 1", "Welcome", 50, 0);
        tbxMain.addCommand(cmdExit);
        tbxMain.setCommandListener(this);
    }
    // Llamado por el Application Manager para iniciar el MIDlet
    public void startApp() { display.setCurrent (tbxMain); }
    // Metodos requeridos
    public void pauseApp() {}
    public void destroyApp(boolean unconditional)  {}
    // Testea si el comando Exit fue seleccionado
    public void commandAction (Command c, Displayable s) {
        if (c == cmdExit) {
            destroyApp(false);
            notifyDestroyed();
        }
    }
}

2) Fichero fuente java para MIDlet2.java

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MIDlet2 extends MIDlet implements CommandListener {
    private Display display;                                // Referencia al objeto Display
    private List lstMain;                                     // Lista de items
    private Command cmdExit;                         // Comando para salir del MIDlet
    // Constructor
    public MIDlet2() {
        display = Display.getDisplay(this);
        cmdExit = new Command("Exit", Command.SCREEN, 1);
        lstMain = new List("MIDlet 2", Choice.IMPLICIT);
        lstMain.append("Welcome Back", null);
        lstMain.addCommand(cmdExit);
        lstMain.setCommandListener(this);
    }
    // Llamado por el Application Manager para iniciar el MIDlet
    public void startApp() { display.setCurrent (lstMain); }
    // Metodos requeridos
    public void pauseApp() {}
    public void destroyApp(boolean unconditional) {}
    // Testea si el comando Exit fue seleccionado
    public void commandAction (Command c, Displayable s) {
        if (c == cmdExit) {
            destroyApp(false);
            notifyDestroyed();
        }
    }
}

3) Fichero manifest12.mf

        MIDlet-Name: Ejemplos de MIDlets
        MIDlet-Version: 1.0
        MIDlet-Vendor: Siemens.
        MIDlet-1: MIDlet1, /App.png, MIDlet1
        MIDlet-2: MIDlet2, /App.png, MIDlet2
        MicroEdition-Profile: MIDP-1.0
        MicroEdition-Configuration: CLDC-1.0

4) Fichero setMIDlets.bat: Compilar, preverificar, crear manifest, jar y jad.

        rem set MIDlets environment
        set PATH=%PATH%;c:\midp-fcs\bin
        set CLASSPATH=%CLASSPATH%;c:\midp-fcs\classes
        echo **** compile ****
        javac -bootclasspath c:\midp-fcs\classes MIDlet1.java MIDlet2.java
        echo **** preverify ****
        preverify -classpath c:\midp-fcs\classes;. -d . MIDlet1 MIDlet2
        echo **** JAR File ****
        jar cvfm MIDlets.jar manifest12.mf MIDlet1.class MIDlet2.class App.png

5) Fichero MIDlets.jad

        MIDlet-Name: Ejemplos de MIDlets
        MIDlet-Version: 1.0
        MIDlet-Vendor: Siemens.
        MIDlet-Description: Dos ejemplos para compilar y ejecutar un MIDlet
        MIDlet-Jar-URL: file://MIDlets.jar
        MIDlet-Jar-Size: 3072
        MIDlet-1: MIDlet1, /App.png, MIDlet1
        MIDlet-2: MIDlet2, /App.png, MIDlet2
 

4) Ejecutar MIDlets: midp -descriptor MIDlets.jad
 

 
Top Back Tabla de contenidos
Next