18
  1 Programaci ón d e dispositivos móviles Semana 3 LOS MIDLETS Los MIDlets, aunque ya hemos visto de manera superficial qué son y cómo se crean, son en suma las estructuras que crearem os. Es por esto que debemos conocer cuál es la estructura de ellos, sus propiedades fundamentales, cual es el “ciclo de vida” de un MIDlet en un dispositivo móvil, y los estados por los que se desenvuelve el MIDlet en un dispositivo móvil. Como estos son la base de las aplicaciones que se instalan en nuestros dispositivos, debemos conocer también la estructura y funcionamiento del AMS (o gestor de aplicaciones, visto en semanas pasadas). En la semana anterior, aprendimos que la configuración CLDC posee un paquete propio, llamado javax.microedition. De este paquete, estudiaremos el javax.microedition.midlet, para así estructurar el código de nuestra primera aplicació n. En los reque rimientos para pode r ver este curso, se le pide al estudiante conocimientos en JAVA, ya que, en caso del estudiante no saberlo, debe crearse todo un apartado completo en el que se le enseñe al estudiante a programar en JAVA, y luego a introducirse en el contenido de J2ME. Es por esta razón que se supondrán conocimientos del estudiante en JAVA, y no se har án mayores profundizacion es en conceptos básicos de JAVA como clase, método, herencia, etc. Cuando se crea una aplicación usando el perfil MIDP, se crea un MIDlet. Estos MIDlets son pequeñas aplicaciones que están destinadas a correr, como lo habíamos dicho antes, en dispositivos con muy pocas características tanto gráficas como de memoria y de procesamiento. Y cuando los qu eremos ejecutar en nuestro dispositivo móvil, no contamos con una pl ataforma en la que copiamos comandos para su ejecución (como el “símbolo del sistema” de Windows), sino que es usado un software adicional para controlar la ejecución e instalación del MIDlet. Este software ya lo habíamos visto antes, se trata del gestor de aplicaciones y lo estudiaremos con más profundidad a continuación, ya que define el ciclo de vida de nuestra aplicación.

Los MIDlets Imprimible

  • Upload
    paskyt

  • View
    626

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 1/17

 

 

1 Programación de dispositivos móviles

Semana 3

LOS MIDLETS

Los MIDlets, aunque ya hemos visto de manera superficial qué son y cómo se

crean, son en suma las estructuras que crearemos. Es por esto que debemos

conocer cuál es la estructura de ellos, sus propiedades fundamentales, cual es

el “ciclo de vida” de un MIDlet en un dispositivo móvil, y los estados por los que

se desenvuelve el MIDlet en un dispositivo móvil. Como estos son la base de

las aplicaciones que se instalan en nuestros dispositivos, debemos conocer

también la estructura y funcionamiento del AMS (o gestor de aplicaciones, visto

en semanas pasadas). En la semana anterior, aprendimos que la configuración

CLDC posee un paquete propio, llamado javax.microedition. De este paquete,

estudiaremos el javax.microedition.midlet, para así estructurar el código de

nuestra primera aplicación. En los requerimientos para poder ver este curso,

se le pide al estudiante conocimientos en JAVA, ya que, en caso del estudiante

no saberlo, debe crearse todo un apartado completo en el que se le enseñe al

estudiante a programar en JAVA, y luego a introducirse en el contenido de

J2ME. Es por esta razón que se supondrán conocimientos del estudiante en

JAVA, y no se harán mayores profundizaciones en conceptos básicos de JAVA

como clase, método, herencia, etc.

Cuando se crea una aplicación usando el perfil MIDP, se crea un MIDlet. Estos

MIDlets son pequeñas aplicaciones que están destinadas a correr, como lohabíamos dicho antes, en dispositivos con muy pocas características tanto

gráficas como de memoria y de procesamiento. Y cuando los queremos

ejecutar en nuestro dispositivo móvil, no contamos con una plataforma en la

que copiamos comandos para su ejecución (como el “símbolo del sistema” de

Windows), sino que es usado un software adicional para controlar la ejecución

e instalación del MIDlet. Este software ya lo habíamos visto antes, se trata del

gestor de aplicaciones y lo estudiaremos con más profundidad a continuación,ya que define el ciclo de vida de nuestra aplicación.

Page 2: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 2/17

 

 

2 Programación de dispositivos móviles

Semana 3

EL GESTOR DE APLICACIONES

El AMS (Aplication Management System), o el gestor de aplicaciones, es el

encargado de todos los procesos relacionados con los MIDlets. Este software

lo contienen los propios dispositivos móviles (es un requerimiento para poder

estar dentro de la configuración CLDC) y es el que ejecuta, pausa la instalación

o destruye los MIDlets que tengamos instalados en nuestro dispositivo. Esa

gestión de MIDlets por parte del AMS se puede agrupar en 2 bloques

importantes, a saber:

Gestión del ciclo de vida del MIDlet

Control de los estados por los que pasa el MIDlet cuando está siendo

ejecutado por el dispositivo.

Estudiemos con más detenimiento estos procesos

  El ciclo de vida de un MIDlet. 

En la unidad 1, vimos el ciclo de vida de un MIDlet, compuesto por 5 estados

específicos:

o Descubrimiento

o Instalación

o Ejecución

o Actualización

o Borrado

Nombraremos nuevamente estos elementos debido a que requerimos

recordarlos por los temas que se verán en esta unidad

Page 3: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 3/17

 

 

3 Programación de dispositivos móviles

Semana 3

El AMS gestiona cada una de estas fases de la siguiente manera:

1. Descubrimiento:

El gestor de aplicaciones, recordemos, no es un navegador. Nuestro

navegador es alguno basado, por ejemplo, en comunicación WAP, y es

el encargado de detectar la aplicación a descargar. La dirección donde

se encuentra el MIDlet se transfiere al AMD, y en ese punto, el gestor

nos permite seleccionar las aplicaciones a descargar. Esto significa que

el gestor de aplicaciones debe tener una opción que nos permita

visualizar los diversos MIDlets o las diversas aplicaciones que queremos

instalar en nuestro dispositivo. Luego de seleccionado el MIDlet, el AMS

debe gestionar la descarga del mismo, dependiendo de las capacidades

del dispositivo, es decir, podemos descargar a través de conexión a

Page 4: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 4/17

 

 

4 Programación de dispositivos móviles

Semana 3

internet, o a través de cable físico, cualquier otra tecnología que nos

permita transferir archivos.

2. Instalación:

En el momento en que termina la descarga del MIDlet en el dispositivo,

procedemos a instalarlo. Toda la información o cualquier problema que

surja en este proceso, debe ser informado al usuario en la ventana del

dispositivo móvil. Se dice que el MIDlet está instalado en el dispositivo

de manera correcta cuando todas sus clases, sus archivos y elementos

adicionales están preparados y listos para ser usados.

3. Ejecución:

El AMS nos permite, así como el control de la instalación del MIDlet, la

ejecución del mismo. Recordemos que los MIDlets se deben ejecutar en

una SandBox por seguridad. También podemos anotar en este caso,

que el AMS controla los estados del MIDlet mientras se está ejecutando.

El estudio de estos estados lo llevaremos a cabo en breve.

4. Actualización:

Si tenemos en nuestro dispositivo móvil una aplicación cuya versión es

igual, menor o mayor que la que estamos instalando, el AMS debe ser

capaz de detectarlo, y no solo eso, sino informarle al usuario la

existencia de una versión diferente a la que se pretende instalar. Aparte

de eso, le debe dar la opción al usuario de escoger si desea en realidad

generar la actualización o no.

Page 5: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 5/17

 

 

5 Programación de dispositivos móviles

Semana 3

5. Borrado:

Finalmente, cuando no queremos un MIDlet instalado en el dispositivo,

procedemos a su eliminación. Esta eliminación también es administrada

por el AMS, quien indica el MIDlet a desinstalar, la opción de cancelar la

desinstalación, y en caso de éxito, el aviso de haberse realizado, así

como también cualquier eventualidad sobre el proceso.

Cuando se instala un MIDlet en un dispositivo, el MIDlet no desaparece en

caso de que el dispositivo se apague o que se cierre la aplicación. Esta

permanece instalada en el dispositivo tanto tiempo como el usuario desee,

pues se aloja en una porción de la memoria no volátil del aparato. Es el usuario

el que escoge el momento en que desea que la aplicación desaparezca, y en

ese momento es que interviene el AMS para ubicarse en el quinto estado del

MIDlet

Estados de un MIDlet en fase de ejecución

Ubiquémonos en la fase 3 del MIDlet, la fase de ejecución. Hemos dicho que

en esta fase, el AMS controla los estados de la aplicación. ¿Cuáles estados?

Primero, el MIDlet en tiempo de ejecución se carga en la memoria volátil deldispositivo, para ser ejecutado. Este estado es llamado el estado “Activo” del

MIDlet. En la memoria del dispositivo es donde se puede hacer la transición de

estados. Digamos que estamos ejecutando nuestro MIDlet, y nos llega un

mensaje o una llamada. Estos elementos son prioritarios para el usuario, por lo

que el usuario procederá a contestar la llamada. ¿Qué pasa entonces con el

MIDlet que está siendo ejecutado? Es transferido a otro estado funcional, el

estado “Pausa”. Esto significa que el AMS debe tener la posibilidad dereaccionar ante eventos externos y cambiar el estado del MIDlet respecto a

Page 6: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 6/17

 

 

6 Programación de dispositivos móviles

Semana 3

dichos eventos. Si volvemos a la aplicación, se pasa del estado “Pausa” al

estado “Activo”. Ahora, hemos dejado de usar nuestro MIDlet y deseamos

cerrarlo, ¿Qué hacemos? Procedemos a cerrarlo. En este caso, el AMS pasa

del estado “Activo” al estado “destruido”. El estado “Destruido” en ningún

momento significa que se borre la aplicación, sino que, como dijimos antes, el

MIDlet está cargado en memoria volátil para poder funcionar. Lo que hacemos

es liberar el espacio de memoria que está usando el MIDlet para que lo use

otra aplicación o para que quede libre. La aplicación como tal permanece

todavía en la memoria no volátil y puede ser invocada en cualquier momento,

es decir, puede ser puesta en estado activo en cualquier momento.

Recapitulando entonces, un MIDlet en la fase 3, y cuando se encuentra

montado en memoria, pasa por 3 estados diferentes:

Activo: El MIDlet se encuentra en fase de ejecución.

Pausa: El MIDlet no se encuentra en ejecución, pero se encuentra

todavía montado en memoria. En este caso, el MIDlet no puede usar

ningún recurso compartido, ya que para hacerlo, debe estar en modo

activo.

Destruido: El MIDlet ya no se encuentra en ejecución y se libera la

memoria que está usando. Se debe anotar que este es el estado final de

un MIDlet, y que de acá no puede transitar a otros estados.

Podemos ver los estados de transición en la fase 3 de un MIDlet típico, con sus

respectivos métodos.

Page 7: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 7/17

 

 

7 Programación de dispositivos móviles

Semana 3

Si observamos el diagrama, nos damos cuenta que el MIDlet cambia de

estados cuando llama a los métodos MIDlet.startApp(), MIDlet.pauseApp() y

MIDlet.destroyApp(). El gestor de aplicaciones hace uso entonces de las

llamadas a cualquiera de estos métodos para cambiar el estado del MIDlet en

el momento en que se requiera, o cuando exista un evento externo. De la

misma manera, un MIDlet puede cambiar su estado por sí mismo.

Cuando un MIDlet es ejecutado normalmente, pasa por una serie de estados

típicos, como una especie de recorrido normal, en el que el AMS tiene mucho

que ver. Lo primero que se hace es que se hace una llamada al constructor del

MIDlet, el cual pasa a un estado de “Pausa” por un pequeño momento. En ese

momento, el AMS se prepara para el alojo del MIDlet creándole una instancia.

Cuando la instancia está lista, el dispositivo se encuentra listo para ejecutar el

MIDlet, por lo que el AMS invoca al método MIDlet.startApp(), poniendo la

aplicación en estado activo. Cuando se encuentra en estado activo, el MIDlet

usa todos los recursos que necesita para ser ejecutado, y permanece así por

un periodo de tiempo que depende del usuario, de un evento externo, o de un

evento interno que lo fuerce a cambiar de estado. En caso de que ocurra

Page 8: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 8/17

 

 

8 Programación de dispositivos móviles

Semana 3

alguna eventualidad, o el usuario lo desee, el MIDlet pasa a un estado de

“Pausa”. En este estado, el AMS se encarga de que el MIDlet consuma la

menor cantidad de memoria posible. Mientras la aplicación permanezca en

estado “Activo” o “Pausa”, puede pasar en cualquier momento al estado

“Destruído”, ya sea porque el usuario lo cerró, o porque se invoca una

aplicación más prioritaria que necesita los recursos que está consumiendo el

MIDlet. Es entonces cuando el AMS genera una llamada al método

MIDlet.destroyApp(), liberando todos los recursos usados por la aplicación para

disponerlos a otros usos

EL PAQUETE JAVAX.MICROEDITION.MIDLET

El paquete javax.microedition.midlet es el encargado de definir las aplicaciones

MIDP y la forma en que estas se comportan con respecto al entorno en que se

ejecutan. Toda aplicación creada usando la configuración MIDP es un MIDlet,

como lo anotamos anteriormente. La clases que trae este paquete son

esencialmente 2, y se observan en la siguiente tabla:

Cada una de esas clases posee sus propios métodos. Conozcámoslos para

saber cuáles son nuestras herramientas al montar MIDlets.

Clase MIDlet

La clase midlet se nombra de la siguiente manera:

Page 9: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 9/17

 

 

9 Programación de dispositivos móviles

Semana 3

  PUBLIC ABSTRACT CLASS MIDLET

Cuando ejecutamos un MIDlet, la aplicación debe extender a esta clase, con el

propósito de que el AMS pueda gestionar los estados de la aplicación y pueda

acceder a las propiedades de la misma. También se la del caso en que el

MIDlet pueda realizar cambios de estado, si invoca los métodos apropiados

para ello. Los métodos que posee esta primera clase se pueden ver a

continuación:

  protected MIDlet()

Este método es un constructor de clases sin argumentos. En caso de

que la llamada a este constructor falle, se lanza la excepción

SecurityException.

  public final int checkPermission(String permiso)

Los permisos poseen estados. Estos estados pueden ser consultados

con este método, que se encuentra descrito en el atributo MIDlet-

permission, escrito en el archivo JAD. Si el permiso por el que se

pregunta su estado no existe, el método devuelve un 0, pero si el estado

del permiso no se puede conocer porque de alguna manera el usuario

debe generar alguna acción, el método devuelve un -1. Los 3 estados

que puede tener este método son:

• 1 Si el permiso es permitido

• 0 si el permiso es denegado

• -1 si el permiso es desconocido.

Page 10: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 10/17

 

 

10 Programación de dispositivos móviles

Semana 3

  protected abstract void destroyApp(boolean incondicional)

throws MIDletstateChangeException

Mediante este método, se indica la terminación del MIDlet, es decir, su

traspaso al estado “destruido”. Recordemos que en este estado el

MIDlet debe liberar todos los recursos que esté usando, y

adicionalmente, debe salvar cualquier dato que sea necesario guardar

en la memoria no volátil. Este método solo puede ser llamado desde el

estado “Activo” o desde el estado “Pausa”. 

Vemos que existe una variable booleana como incondicional. Si esta

booleana es false , el MIDlet tiene la posibilidad de lanzar la excepción

MIDletstateChangeException, con el objetivo de indicar la imposibilidad

de destruir el MIDlet en dicho momento. Si es true , el MIDlet asume su

estado como destruido sin importar la forma en la que finalice el método.

  public final String getAppProperty(String key)

Recordemos que los MIDlets tienen propiedades en sus archivos .JAD y

manifest. Este método me permite recopilar de ellos el valor de unapropiedad determinada, que se escribe en el parámetro “key”. El método

tiene como respuesta una string con la propiedad escrita en “key”, pero

en caso de que la propiedad como tal no exista, devuelve un “Null”. Si

“key” es “null”, la aplicación lanza la excepción NullPointerException 

Page 11: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 11/17

 

 

11 Programación de dispositivos móviles

Semana 3

  public final void notifyDestroyed()

Mediante este método le indicamos a la AMS que el MIDlet ha entrado al

estado “Destruido”. Cuando se invoca este método, todos los recursos

ocupados por el MIDlet son liberados por este, de la misma manera que

si se invocara el método MIDletdestroyApp (). Con este método, el AMS

considera que todos los recursos que antes ocupaba el MIDlet han sido

liberados y están disponibles.

  public final void notifyPaused()

Con este método se le indica al AMS que la aplicación no desea estar

activa, y que ha entrado en el estado de “Pausa”. Este método no puede

ser invocado en el estado “Pause”, sino que solo puede ser invocado

desde el estado “Activo”. Cuando se invoca este método, para volver al

estado activo, se llama al método MIDlet.startApp(), o para ser destruido

se usa el método MIDlet.destroyApp(). Si es el programa el que se para

por sí mismo, se requiere llamar al método MIDlet.resumeRequest() para

poder volver al estado de actividad

  protected abstract void pauseApp()

A través de este método, el MIDlet entra en estado de “Pausa”. Al igual

que en el método anterior, solo puede ser llamado cuando el MIDlet está

activo. En caso de que ocurra un error en tiempo de ejecución, una

excepción RuntimeException mientras se llama el método

MIDlet.pauseApp(), el MIDlet pasa a ser destruido inmediatamente,

Page 12: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 12/17

 

 

12 Programación de dispositivos móviles

Semana 3

llamándose a su método MIDLet.destroyApp() para liberar los recursos

que están ocupados por la aplicación destruída.

  public final boolean platformRequest(String url)

Se establece una conexión directa entre el MIDlet y la dirección url

dentro de los paréntesis. Dependiendo del contenido presente en la

URL, el dispositivo ejecutará una aplicación determinada que sea capaz

de leer el contenido de la URL e interactúe con él.

Digamos que, por ejemplo, la URL hace referencia a un archivo .JAR y

.JAD. En este caso, el dispositivo entenderá que debe comenzar una

descarga de un MIDlet y comenzará el proceso. Si por ejemplo la URL

posee el formato tel<numero>, nuestro dispositivo entiende y genera una

llamada telefónica.

  public final void resumeRequest()

A través de este método, el MIDlet le comunica al AMS su deseo de

pasar al estado “Activo”. Es el mecaniso mediante el cual el MIDlet se

comunica con la AMS indicando su deseo de pasar a “Activo”. Con este

método, el AMS determina cuales aplicaciones son las encargadas de

pasar al estado “Activo” invocando el método MIDlet.starApp() 

  protected abstract void startApp() throws

MIDletstateChangeException

Page 13: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 13/17

 

 

13 Programación de dispositivos móviles

Semana 3

Con este método, se le comunica al MIDlet que se ha entrado en el

estado “Activo” y solo puede invocarse cuando la aplicación se

encuentra en estado “Pause”. Si El MIDlet no puede pasar al estado

“activo” en ese momento, sino en un estado posterior (una aplicación de

mayor prioridad se encuentra ejecutándose), se lanza la excepción

MIDletstateChangeException. Estos métodos crean una comunicación

entre el MIDlet y el AMS: Mientras los métodos StartApp(), PauseApp() y

destroyApp() los usa el AMS para comunicarle información al MIDlet, los

métodos, ResumeRequest(), NotifyPaused() y NotifyDestroyed() son

usados por el MIDlet para comunicarse con el AMS.

En la siguiente tabla se ve el resumen de los métodos contenidos en la

clase MIDlet

Clase MIDletChangeStateException

public class MIDletstateChangeException extends Exception

Page 14: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 14/17

 

 

14 Programación de dispositivos móviles

Semana 3

Es una excepción que se lanza en el momento en que ocurre un cambio

en el estado de un MIDlet.

ESTRUCTURA DE LOS MIDLETS

En este momento, ya sabemos los estados de un MIDlet, su estructura, ciclo de

vida, clases, métodos y acciones. Es hora de ver el elemento final del curso,

cuyo objetivo es poder montar una aplicación en un dispositivo móvil, es decir,

veremos la estructura de un código que contiene un dispositivo móvil

Un MIDlet, al igual que un applet, carece totalmente de una función main(),

como otras aplicaciones de JAVA. Si la contuviera, el gestor de aplicaciones

únicamente la ignoraría y seguiría adelante con el código. En caso de hacer

uso de la estructura System.exit() se produciría la excepción

SecurityExcepcion.

Sabiendo estos elementos básicos, observemos ahora la estructura general de

un MIDlet en código de JAVA

import javax.microedition.midlet.*

public class MiMidlet extends MIDletpublic MiMidlet() {

  /* En este punto construimos nuestra clase e inicializamos

nuestras variables

*/ 

}

public startApp(){

 /* En este punto se copia el código que queremos que el MIDletejecute, es decir, es el core o nucleo de nuestra aplicación.

Page 15: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 15/17

 

 

15 Programación de dispositivos móviles

Semana 3

*/ 

}

public pauseApp(){

 /* En este punto escribimos el código que queremos que ejecute

el MIDlet cuando entre en estado de pausa. Este punto es

opcional

*/ 

}

public destroyApp(){

 /* En este punto copiamos el código que queremos que el MIDlet

ejecute cuando sea destruido. Generalmente acá liberamos

espacios de memoria. (Opcional)

*/ 

}

Estos métodos son obligatorios para cualquier MIDlet a crear. Debemos tener

en cuenta que la clase creada debe heredar de la clase MIDlet, y que esta

clase tiene 3 métodos abstractos, a saber: startApp(), pauseApp() y

destroyApp()

EJEMPLO PRÁCTICO

Crearemos ahora nuestro primer MIDlet. Sabiendo la estructura que tienen los

respectivos MIDlets, podemos ver reflejado todo ese conocimiento en nuestra

primera aplicación. Veamos la estructura del mismo, y dejemos el lenguaje

para un MIDlet más avanzado. Con este ejemplo tratamos de desarrollar un

MIDlet básico que tendrá la estructura de todos aquellos que el aprendiz

desarrollará en adelante, con su estudio e investigación. .

Page 16: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 16/17

 

 

16 Programación de dispositivos móviles

Semana 3

Como un primer ejemplo, haremos una aplicación llamada “HolaMundo”, cuyo

código se muestra luego de la explicación. Es en este ejemplo donde vemos la

estructura interna del los MIDlets que vimos en el apartado superior. El

constructor lo usaremos para crear los objetos poseídos por nuestra aplicación,

y para crear también la referencia que se relaciona con la pantalla de nuestro

dispositivo. En el método startApp() activamos la pantalla de nuestro

programa. En el método pauseApp() estará vacío ya que no haremos uso de él,

aunque podríamos usarlo para emitir un mensaje al usuario que le indique que

la aplicación está pausada. En el método destroyApp(), liberamos los recursos

de memora y notificamos al AMS que el MIDlet ha sido destruido.

El código es el siguiente:

}

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class HolaMundo extends MIDlet{

private Display pantalla;

private Form formulario = null;

public HolaMundo(){

pantalla = Display.getDisplay(this);formulario = new Form(“Hola Mundo”); 

}

public void startApp(){

pantalla.setCurrent(formulario);

}

public void pauseApp(){

}

public void destroyApp(boolean unconditional){

Page 17: Los MIDlets Imprimible

5/11/2018 Los MIDlets Imprimible - slidepdf.com

http://slidepdf.com/reader/full/los-midlets-imprimible 17/17

 

 

17 Programación de dispositivos móviles

Semana 3

pantalla = null;

formulario = null;

notifyDestroyed();

}

}

Y la forma en la que se despliega es la siguiente: