Tutorial “mi primer MIDlet”

A continuacion crearemos nuiestro primer midlet, que nos servira para comprobar de forma totalmente practica como es su proceso de creacion, desde el codigo fuente hasta su distribucion.

Todos los midlet deben tener una clase principal que herede de la clase javax.microedition.midlet.MIDlet, contenida en el API MIDP estandar. esta clase define varios metodos, los cuales los destacare:

  • startApp() – lanza el MIDlet.
  • pauseApp() – Para el MIDlet.
  • destroyApp() – Destruye el MIDlet.

Los midlets tiene tres posibles estados que determinan su comportamiento: activo,parado y destruido Estos estados se relacionan directamente con los metodos antes enumerados, que son los llamados directamente por el entorno de ejecucion de aplicaciones, pero tambien pueden ser invocados desde el codigo.

Un MIDlet puede ser lanzado y parado varias veces, pero solo sera destruido unavez.

La mayoria de los MIDlets implementan el metodo commandAction(), un metodo de respuesta a eventos definido en la interfaz javax.microedition.lcdui.CommandListener.
Para los que programan en java encontraran muy similar al control de eventos tipicos.

Tambien tenemos la clase javax.microedition.lcdui.Display, que reprecenta y modela el controlador de la pantalla del dispositivo y los elementos que permiten al usuario interactuar con la aplicacion. Nunca se debe crear un objeto Display, obtendremos una referencia al objeto Display que nos proporciona el propio entorno. Dispondremos de una instancia Display por cada MIDlet que se este ejecutando en el dispositivo en cada momento.
Mientras que del onjeto Display solo pueede haber una instancia, del objetos javax.microedition.lcdui.Screen pueden existir varias. El objeto Sreen es un componente de GUI (graphics user interface) generico que sirve como base para otros componentes.

Dentro de las aplicaciones MIDP no tenemos la posibilidad de visualizar varias ventanas como lo hacemos en el mundo del sofware habitual. La mayoria de los MIDlets usan subclases de la clases Screen, como Forms, TextBox o List, ya que proporcionan una funcionalidad mucho mas especifica y por lo tanto son mas utiles y sencillas de utilizar.

Una clase similar en cierta medida a Screen es la clase Canvas que pertenece al mismo paquete. Los Canvas son usados para realizar operaciones graficas directamente sobre la pantalla .No se puede mostrar un objeto canvas y un objeto screen a la vez, pero se pueden alternar en la misma aplicacion

A continuacion y luego de esta introduccion dejo el script explicativo de como esta formado un MIDlet muy basico en j2me.

/**
*
* @author exequiel catalani
*/

//importamos los paquetes
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

//nuestra clase tiene que extender de la clase MIDLet y tiene que implementar
// la interface CommandListener
public class HolaMundo extends MIDlet implements CommandListener {
//declaramos las variables
private Command salir;
private Display display;
private Form pantalla;

//creamos una nueva instancia
public HolaMundo() {
//recogemos el objeto Display
display = Display.getDisplay(this);

//creamos el comando de salida
salir = new Command (“Salir”, Command.EXIT,2);

//Creamos el “Form” de la pantalla principal
pantalla = new Form (“Primer MIDLet”);

//Creamos una cadena y la ponemos en pantalla
//usando el metodo append
StringItem cad = new StringItem( “”, “Hola Mundo!”);
pantalla.append(cad);

//añadimos y configuramos el comando de salida
//tambien usamos un listener para detectar el evento
pantalla.addCommand(salir);
pantalla.setCommandListener(this);

}

public void startApp() throws MIDletStateChangeException{
// Establecemos el “Display” actual a nuestra
//pantalla recien creada
display.setCurrent(pantalla);
}

public void pauseApp(){
}

public void destroyApp (boolean incondicional){
}

public void commandAction (Command c,Displayable s) {
if (c == salir) {
destroyApp (false);
notifyDestroyed();
}
}

}

Anuncios

About exequielc

Hola! Estás en el blog de Exequiel Catalani. Como es un blog, se trata de una extensión más o menos lineal de las cosas que hago y pasan por mi cabeza: ciberculturas, videos de la red, nuevos medios y tecnologia, y Programacion etc...

2 responses to “Tutorial “mi primer MIDlet””

  1. Fernando says :

    Gracias por la info.

    Espeo que continúe trabajando con J2ME y socializando el conocimiento.

    Hasta pronto.

  2. traveller says :

    Quisiera saber como pasar de un Form a un canvas lo he intenatdo por medio de la clase Display.getDisplay(this).setCurrent(canvas), pero al momento de hacerlo marca error.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: