Вы находитесь на странице: 1из 3

MIDlet

Un MIDlet es una aplicacin J2ME desarrollada con el perfil MID, es una


aplicacin para dispositivos mviles cuyas limitaciones entran dentro de la
especificacin MIDP. Debido a la filosofa Java ("write one, run anywhere")
podemos ejecutarlas sobre un amplio rango de dispositivos sin necesidad de
modificarlas. Para que esta portabilidad sea una realidad la especificacin MIDP
ha definido los siguientes requisitos:
1. Los dispositivos de informacin mviles tienen que contar con un mdulo
software encargado de la gestin de los MIDlets (cargarlos,
ejecutarlos...). Este software es el llamado gestor de aplicaciones.
2. Los MIDlet deben ofrecer una misma interfaz a todos los gestores de
aplicaciones. De esta forma, independientemente de la funcionalidad
que implementen (un juego, una agenda,...), los dispositivos pueden
identificar a los MIDlet y realizar acciones sobre ellos.
Gestor de aplicaciones
El gestor de aplicaciones es el software que se encarga de gestionar los
MIDlets. Este software reside dentro del dispositivo y es el que nos permite
ejecutar, pausar o destruir nuestras aplicaciones J2ME.
El gestor de aplicaciones debe realizar dos grandes funciones:
1. Gestin de las aplicaciones.
2. Gestin de estados de las aplicaciones.
Las principales funciones realizadas por un gestor de aplicaciones son la carga,
instalacin, ejecucin, actualizacin y desinstalacin del MIDlet.
Ciclo de vida de un MIDlet
El ciclo de vida habitual de un MIDlet lo constituyen los siguientes pasos.
Paso 1: El gestor de aplicaciones crea la aplicacin, y tras estar en
estado de espera, es pasado inmediatamente al estado activado al
retornar correctamente de la llamada al mtodo startApp().
Paso 2: El MIDlet se ejecuta con normalidad hasta que surge un evento
externo que obliga al gestor de aplicaciones a detenerlo, justo despus
de que la funcin pauseApp() se ejecute sin problemas.
Paso 3: Se decide continuar con la ejecucin de la aplicacin por lo que
el gestor de aplicaciones llama de nuevo al mtodo startApp(),
cambiando el estado del MIDlet a activado.
Paso 4: El usuario decide salir del programa por lo que el MIDlet libera
sus recursos e informa al gestor de aplicaciones que desea pasar al
estado de destruido, llamando a notifyDestroyed(). El gestor finaliza
inmediatamente despus la ejecucin del MIDlet.
Estructura de un MIDlet
Los MIDlet tienen la siguiente estructura:

import javax.microedition.midlet.*
public class MiMidlet extends MIDlet {
public MiMidlet() {
/* ste es el constructor de clase. Aqu debemos
inicializar nuestras variables. */
}
public startApp(){
/* Aqu incluiremos el cdigo que queremos que el MIDlet
ejecute cundo se active. */
}
public pauseApp(){
/* Aqu incluiremos el cdigo que queremos que el MIDlet
ejecute cundo entre en el estado de pausa (Opcional). */
}
public destroyApp(){
/* Aqu incluiremos el cdigo que queremos que el MIDlet
ejecute cundo sea destruido. Normalmente aqu se liberaran
los recursos ocupados por el MIDlet como memoria, etc.
(Opcional) */
}
}

Podemos destacar los siguientes elementos del cdigo anterior, que son
comunes a todo MIDlet:

Todas las clases del paquete javax.microedition.midlet (MIDlet y


MIDletStateChangeExeption) se importan.
Todos los MIDlet heredan de la clase javax.microedition.midlet.MIDlet.
Debido a esta herencia, todos presentan el mismo interfaz, lo cual
permite su gestin independientemente del entorno de ejecucin.
Los MIDlets, carecen de la funcin main() (al igual que sucede con los
applets). Aunque existiera, el gestor de aplicaciones la ignorara por
completo.
Un MIDlet no puede realizar una llamada a System.exit(). Una llamada a
este mtodo lanzara la excepcin SecurityException.
Hay que implementar obligatoriamente las funciones abstractas
startApp(), pauseApp() y destroyApp().

Descripcin de los mtodos ms importantes de la clase MIDlet.

protected abstract void startApp() throws MIDletstateChangeException

Con este mtodo se le indica al MIDlet que ha entrado en el estado "Activo".


Slo puede invocarse cundo el MIDlet est en estado de "Pausa". Si
el MIDlet no puede pasar al estado "Activo" en este momento pero si puede
hacerlo en un momento posterior, se lanzar la
excepcin MIDletstateChangeException.

protected abstract void pauseApp()

Le indica al MIDlet que pase al estado de "Pausa". Este mtodo slo debe
llamarse cundo el MIDlet est en el estado "Activo". Se puede aprovechar
para guardar informacin que pudiera perderse durante la interrupcin
del MIDlet. Si ocurriese una excepcin RuntimeException durante la llamada
a MIDlet.pauseApp(), el MIDlet se destruira inmediatamente, llamando al
mtodo MIDlet.destroyApp() para liberar los recursos ocupados.

protected abstract void destroyApp(boolean incondicional) throws


MIDletstateChangeException

Seala la terminacin del MIDlet y su paso al estado de "Destruido". En este


estado el MIDlet tiene que liberar todos los recursos y guardar cualquier dato
en el almacenamiento persistente que deba ser salvado. Este mtodo puede
llamarse desde los estados "Pausa" o "Activo".
Otros mtodos de la clase MIDlet.
Estos mtodos que proporcionan mecanismos adicionales los podemos dividir
en dos grupos:
Peticiones de cambio de estado: permiten a los MIDlet solicitar al gestor de
aplicaciones un cambio del estado. Son: notifyPaused(), notifyDestroyed() y
resumeRequest().
Acceso a variables de entorno: con la funcin getAppProperty() los MIDlet
pueden leer variables almacenadas en el fichero descriptor (.jad). Esto nos
permite poder configurar el comportamiento de un MIDlet sin necesidad de
recompilarlo y empaquetarlo de nuevo.

Вам также может понравиться