Aplicacion MIDP

28
L.I.Arturo Iván Grajales Vázquez. Java 2 Micro Edition Aplicaciones MIDP.

Transcript of Aplicacion MIDP

Page 1: Aplicacion MIDP

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

Java 2 Micro Edition

Aplicaciones MIDP.

Page 2: Aplicacion 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.

Page 3: Aplicacion MIDP

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

Arquitectura MIDP

Sistema Operativo

CLDC

En

torn

o d

e e

jecu

ción

MID

let

Inte

rfaz

de u

suari

o

En

torn

o d

e R

ed

Alm

ace

nam

iento

Pers

iste

nte

Código del

Integrador

Midlets

KVM

Page 4: Aplicacion MIDP

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.

Page 5: Aplicacion MIDP

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.

Page 6: Aplicacion MIDP

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

Page 7: Aplicacion MIDP

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

Ciclo de vida de un MIDlet.

Page 8: Aplicacion MIDP

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.

Page 9: Aplicacion MIDP

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.

Page 10: Aplicacion MIDP

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.

Page 11: Aplicacion MIDP

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.

Page 12: Aplicacion MIDP

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.

Page 13: Aplicacion MIDP

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:

Page 14: Aplicacion MIDP

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

Page 15: Aplicacion MIDP

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;

Page 16: Aplicacion MIDP

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 ( ++, -- ).

Page 17: Aplicacion MIDP

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.

Page 18: Aplicacion MIDP

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 == ).

Page 19: Aplicacion MIDP

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.

Page 20: Aplicacion MIDP

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.

Page 21: Aplicacion MIDP

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.

Page 22: Aplicacion MIDP

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.

Page 23: Aplicacion MIDP

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.

Page 24: Aplicacion MIDP

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) { …. }

}

Page 25: Aplicacion MIDP

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.

Page 26: Aplicacion MIDP

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.

Page 27: Aplicacion MIDP

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);

}

Continuación…..

Page 28: Aplicacion MIDP

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

Aplicaciones midlet.

public void pauseApp ( )

{

}

public void destroyApp( boolean unconditional)

{

pantalla=null;

formulario=null;

notifyDestroyed( );

}

}