Sei sulla pagina 1di 28

Java 2 Micro Edition

Aplicaciones MIDP.

L.I.Arturo Iván Grajales Vázquez.


Aplicaciones MIDP.

Este perfile es quien nos proveerá de los paquetes, clases


y funcionamiento para interactuar con el usuario en un teléfono
celular, así como con la red internet para intercambiar
información. El perfil MIDP no permite a los midlets acceder al
sistema operativo del dispositivo porque, si lo hiciera, la gran
mayoría de los midlets dejarían de ser portables. Esta
circunstancia permite que los midlets puedan utilizar de forma
directa todas las facilidades proporciona el perfil MIDP y APIs que
derivan directamente de la configuracion CLDC. Para conseguir
esto se define una arquitectura lógica de la posición.

L.I.Arturo Iván Grajales Vázquez.


Arquitectura MIDP

Midlets

Entorno de ejecución
Código

Interfaz de usuario
del

Almacenamiento
Entorno de Red
Integrador

Persistente
MIDlet

CLDC

KVM

Sistema Operativo
L.I.Arturo Iván Grajales Vázquez.
MIDlets.
Los MIDlets son aplicaciones creadas usando la
especificación MIDP. Están diseñados para ser ejecutados, como
ya sabemos, en dispositivos con poca capacidad gráfica, de
cómputo y de memoria. En estos dispositivos no disponemos de
líneas de comandos donde poder ejecutar las aplicaciones que
queramos, si no que reside en él un software que es el encargado
de ejecutar los MIDlets y gestionar los recursos que éstos ocupan.

L.I.Arturo Iván Grajales Vázquez.


Sistema Gestor de Aplicaciones ( AMS ).

El gestor de aplicaciones o AMS (Application


Management System) es el software encargado de gestionar los
MIDlets. Este software reside en el dispositivo y es el que nos
permite ejecutar, pausar o destruir nuestras aplicaciones J2ME.
El AMS realiza dos grandes funciones:

• Por un lado gestiona el ciclo de vida de los MIDlets.


• Por otro, es el encargado de controlar los estados por los
que pasa el MIDlet mientras está en la memoria del
dispositivo, es decir, en ejecución.

L.I.Arturo Iván Grajales Vázquez.


Ciclo de vida de un MIDlet.

El ciclo de vida de un MIDlet pasa por 5 fases :


localización o descubrimiento, instalación, ejecución,
actualización y borrado. Hay que indicar que el MIDlet puede
permanecer en el dispositivo todo el tiempo que queramos.
Después de la fase de instalación, el MIDlet queda almacenado
en una zona de memoria persistente del dispositivo MID. El
usuario de éste dispositivo es el encargado de decidir en qué
momento quiere eliminar la aplicación y así se lo hará saber al
AMS mediante alguna opción que éste nos suministre.

ver la figura a continuación

L.I.Arturo Iván Grajales Vázquez.


Ciclo de vida de un MIDlet.

L.I.Arturo Iván Grajales Vázquez.


Ciclo de vida de un MIDlet.
El AMS es el encargado de gestionar cada una de estas
fases de la siguiente manera:
• Localización: Esta fase es la etapa previa a la instalación del
MIDlet y es dónde seleccionamos a través del gestor de
aplicaciones la aplicación a descargar. Por tanto, el gestor
de aplicaciones nos tiene que proporcionar los mecanismos
necesarios para realizar la elección del MIDlet a descargar.
El AMS puede ser capaz de realizar la descarga de
aplicaciones de diferentes maneras, dependiendo de las
capacidades del dispositivo. Por ejemplo, esta descarga la
podemos realizar mediante un cable conectado a un
ordenador o mediante una conexión inalámbrica.

L.I.Arturo Iván Grajales Vázquez.


Ciclo de vida de un MIDlet.
• Instalación: Una vez descargado el MIDlet en el dispositivo,
comienza el proceso de instalación. En esta fase el gestor
de aplicaciones controla todo el proceso informando al
usuario tanto de la evolución de la instalación como de si
existiese algún problema durante ésta. Cuándo un MIDlet
está instalado en el dispositivo, todas sus clases, archivos y
almacenamiento persistente están preparados y listos para
su uso.
• Ejecución: Mediante el gestor de aplicaciones vamos a ser
capaces de iniciar la ejecución de los MIDlets. En esta fase,
el AMS tiene la función de gestionar los estados del MIDlet
en función de los eventos que se produzcan durante esta
ejecución. Esto lo veremos un poco más en profundidad
más adelante.

L.I.Arturo Iván Grajales Vázquez.


Ciclo de vida de un MIDlet.
• Actualización: El AMS tiene que ser capaz de detectar
después de una descarga si el MIDlet descargado es una
actualización de un MIDlet ya presente en el dispositivo. Si
es así, nos tiene que informar de ello, además de darnos la
oportunidad de decidir si queremos realizar la actualización
pertinente o no.
• Borrado: En esta fase el AMS es el encargado de borrar el
MIDlet seleccionado del dispositivo. El AMS nos pedirá
confirmación antes de proceder a su borrado y nos
informará de cualquier circunstancia que se produzca.

L.I.Arturo Iván Grajales Vázquez.


Estados de un MIDlet en la fase de ejecución.

El AMS es el encargado de controlar los estados del


MIDlet durante su ejecución. Durante ésta el MIDlet es cargado
en la memoria del dispositivo y es aquí donde puede transitar
entre 3 estados diferentes: Activo, en pausa y destruido.

L.I.Arturo Iván Grajales Vázquez.


Estados de un MIDlet en la fase de ejecución.

Un MIDlet durante su ejecución pasa por 3 estados


diferentes. Como ya hemos visto en el apartado anterior, estos tres
estados son:
• Activo: El MIDlet está actualmente en ejecución.
• Pausa: El MIDlet no está actualmente en ejecución. En este
estado el MIDlet no debe usar ningún recurso compartido.
Para volver a pasar a ejecución tiene que cambiar su estado
a Activo.
• Destruido: El MIDlet no está en ejecución ni puede transitar
a otro estado. Además se liberan todos los recursos
ocupados por el MIDlet.

L.I.Arturo Iván Grajales Vázquez.


Ambiente.
El ambiente para la plataforma J2ME esta definida
mediante los siguientes componentes:
• Lenguaje.
• Archivos.
• Clases de J2ME.
• Esqueleto de un midlet.

El Lenguaje.
Java es un lenguaje orientado a objetos, por lo cual todo
lo que desarrollemos será una clase que al momento de la
ejecución del aplicativo se instanciará en un objeto. Los objetos
se trabajan a través de variables y accederemos a sus métodos a
través de este. Una clase tendrá un aspecto siguiente:
L.I.Arturo Iván Grajales Vázquez.
Ambiente (Lenguaje) .
Public class <Miclase> {
private <tipo> <variable>;
public <tipo> <metodo>( <tipo><parametro>){
}
}

Tipos de datos primitivos.


Los principales tipos de datos primitivos disponibles, en
J2ME son:
boolean byte int
char short long

L.I.Arturo Iván Grajales Vázquez.


Ambiente (Lenguaje).
Arreglos.
Los arreglos y vectores son las que una colección finita de
elementos de algún tipo, siendo este primitivo o una clase. Por
ejemplo :
int numeros[]=new int [5];

Variables.
Las variables tiene como finalidad recepción datos y estos
a su vez procesarlos y se definen, indicando el tipo y luego el
nombre de la variable. Por ejemplo:
int numero;

L.I.Arturo Iván Grajales Vázquez.


Ambiente (Lenguaje).
Operadores.
Conjunto de símbolos que nos permite obtener un resultado,
esto se clasifican en :
• Aritméticos ( +,-,*,/,%)
• Relacionales ( <,>,>=,<=,==,!=).
• Lógicos ( &&,|| ,! ).
• Concatenación de texto ( + ) .
• incremento/ decrementos ( ++, -- ).

L.I.Arturo Iván Grajales Vázquez.


Ambiente (Lenguaje).
Sentencias de control.
Se utilizan dos tipos de construcciones condicionales,
estas pueden ser :
• Sentencia if.
• Sentencia switch.
Ciclos.
Se utilizan para ejecutar una serie de instrucciones
mientras una condición se cumpla, estas pueden ser:
• Sentencia while.
• Sentencia do-while.
• Sentencia for.

L.I.Arturo Iván Grajales Vázquez.


Ambiente (Lenguaje).
Manejo de Strings.
Mediante el uso de la clase Strings, es posible realizar con
ella diversas manipulaciones con cadenas, como pueden ser:
• Método length( ) :- Devuelve la longitud actual de la cadena.
• Método charAt(int i):- Devuelve el carácter ubicado en la
posición i.
• Método indexOf (String s) :- Devuelve la posición de un
carácter o substring dentro del string principal.
• Método Equals( String s) :- Devuelve si el string es iguala
otro ( no se puede utilizar == ).

L.I.Arturo Iván Grajales Vázquez.


Ambiente.
Archivos.
Cuando se trabaje con proyectos en J2ME estaremos
manejando archivos, y estos a su vez se podrán clasificar en :
• Archivos de Clases:- Este tipo de archivo contiene el código
fuente de nuestra clase que será almacenada en un archivo
( . java). Una vez compilada la clase, esta será encapsulada
y precompilada por el sistema para generar un archivo
(.class).
• Archivos de imágenes:-Las imágenes, logos, fotos y dibujos
que utilice nuestra aplicación J2ME deberán estar en un
formato “PNG” que es un formato grafico de libre
distribución que permite, entre otras ventajas,
transparencias y alta definición de colores.

L.I.Arturo Iván Grajales Vázquez.


Ambiente (Archivos).
• Archivos de paquetes:-Debido a que los celulares no siempre
tienen un sistema de archivos incluido, se ha desarrollado un
sistema que permite empaquetar todo el contenido de
nuestra aplicación en un solo archivo. Dicho archivo tendrá la
extensión “.JAR” ( Java Archive) y tendrá dentro todos los
archivos .class de nuestro proyecto, todas las imágenes y
archivos de datos que utilice nuestra aplicación. Otro de los
archivos necesarios para conformar un paquete es un archivo
de extensión “.JAD” ( Java Application Descriptor ) que
contiene texto indicando cierta información útil para que el
teléfono sepa como instalar la aplicación. Entre otra
información se puede incluir: Nombre de la aplicación,
Versión ,Tamaño del archivo JAD, Pagina Web y el nombre de
la Clase que se ejecutara como Midlet.

L.I.Arturo Iván Grajales Vázquez.


Ambiente (Archivos).
Notas de Recomendaciones.
Los archivos JAD y JAR son los que deben ser instalados
en el celular, a través de un cable serial, puerto infrarrojo, por
mensaje multimedia, o mediante una tecnología que permite
instalar una aplicación, llamada OTA (Over the Air o Desde el
Aire). Publicado estos archivos en un servidor y realizando una
pequeña configuración en éste podremos descargar e instalar
nuestra aplicación desde una conexión WAP.

L.I.Arturo Iván Grajales Vázquez.


Ambiente.
Clases de J2ME.
La plataforma J2ME contiene una serie de paquetes que permite
dar soporte a nuestras aplicaciones ( midlet ). Dentro de los
posibles paquetes se encuentran :
• javax.microedition.midlet :- Esta clase nos permite crear
una clase heredada que haga las funciones de un Midlet.
Será quien se ejecute en primera instancia al invocar a la
aplicación desde el celular.
• javax.microedition.lcdui:- Este paquete contiene todas las
clases necesarias para realizar nuestra interfaz de entrada
y salida con el usuario.

L.I.Arturo Iván Grajales Vázquez.


Ambiente (Clases de J2ME).
• javax.microedition.io :- Contiene la clase Connection que
será la encargada de administrar las conexiones entrantes y
salientes hacia internet u otro medio de comunicación
disponible.
• javax.microedition.rms :- Es el paquete que contiene clases
necesarias para poder escribir y leer registros almacenados
en la memoria del equipo celular para un futuro uso de la
aplicación.

L.I.Arturo Iván Grajales Vázquez.


Ambiente.
Esqueleto de un midlet.
import javax.microedition.midlet.*;
public class <nom_midlet> extends MIDlet
{
public void startApp ( ) { …. }

public void pauseApp( ) { …. }

public void destroyApp( boolean unconditional) { …. }


}

L.I.Arturo Iván Grajales Vázquez.


Desarrollo.
El desarrollo y preparación de una aplicación puede
dividirse en las siguientes seis fases:
1. Desarrollo del código: Esta fase hace uso de un editor de
texto cualquiera. Una vez que terminemos de escribir el
código que conformará nuestro MIDlet deberemos guardar
el fichero con el mismo nombre de la clase principal y con
la extensión .java.
2. Compilación: En este paso vamos a generar el archivo
.class asociado a la clase .java creada en la fase anterior.
3. Preverificación: En este paso realizaremos la
preverificación de clases ya compilada.

L.I.Arturo Iván Grajales Vázquez.


Desarrollo.
4. Empaquetamiento: En esta fase vamos a empaquetar
nuestro MIDlet y dejarlo totalmente preparado para su
descarga sobre el dispositivo MID. Para ello vamos a tener
que construir dos archivos:
• Un archivo JAR con los ficheros que forman el
MIDlet.
• Un archivo descriptor de la aplicación que es
opcional.
5.- Ejecución: Para esta fase haremos uso de los emuladores
que nos permitirán ejecutar nuestro MIDlet.
6.- Depuración: Esta última fase nos permitirá depurar los
fallos detectados en la fase anterior de nuestro MIDlet.

L.I.Arturo Iván Grajales Vázquez.


Aplicaciones midlet.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class primerMID extends MIDlet


{
private Display pantalla;
private Form formulario;

public primerMID() {
pantalla=Display.getDisplay(this);
formulario= new Form( “ Hola Mundo “);
}

public void startApp( ) {


pantalla.setCurrent(formulario);
}

L.I.Arturo Iván Grajales Vázquez. Continuación…..


Aplicaciones midlet.
public void pauseApp ( )
{
}

public void destroyApp( boolean unconditional)


{
pantalla=null;
formulario=null;
notifyDestroyed( );
}
}

L.I.Arturo Iván Grajales Vázquez.

Potrebbero piacerti anche