Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 lo
habí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.
1 Programación de dispositivos móviles
Semana 3
EL GESTOR DE APLICACIONES
1. Descubrimiento:
2. Instalación:
3. Ejecución:
4. Actualización:
Podemos ver los estados de transición en la fase 3 de un MIDlet típico, con sus
respectivos métodos.
EL PAQUETE JAVAX.MICROEDITION.MIDLET
Cada una de esas clases posee sus propios métodos. Conozcámoslos para
saber cuáles son nuestras herramientas al montar MIDlets.
Clase MIDlet
protected MIDlet()
• 1 Si el permiso es permitido
• 0 si el permiso es denegado
• -1 si el permiso es desconocido.
Clase MIDletChangeStateException
import javax.microedition.midlet.*
public class MiMidlet extends MIDlet
public 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 MIDlet
ejecute, es decir, es el core o nucleo de nuestra aplicación.
14 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. .
El código es el siguiente:
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;