Está en la página 1de 40

DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN

APLICACIONES MOVILES CON J2ME

AGEND A

J2ME SISTEMA OPERATIVO MAQUINA VIRTUAL CONFIGURACIONES PERFILES MIDLET

J2ME

Es una versin reducida de J2SE creada para poder desarrollar en dispositivos limitados como son los telfonos mviles.

CARACTERISTICAS J2ME

Las diferentes tecnologas de Java comparten un conjunto amplio de APIs bsicas del lenguaje, agrupadas principalmente en los paquetes java.lang y java.io. J2ME contiene una mnima parte de las APIs de Java, siendo un total de 37 clases de la plataforma J2SE provenientes de los paquetes java.lang, java.io, java.util.

DIFERENCIAS ENTRE J2ME Y J2SE Tipos de datos: J2ME no soporta los tipos float y double (son

muy costosos y no disponen de una FPU Unidad de Coma Flotante ).

Preverificacin: J2SE verifica el cdigo en tiempo de ejecucin mientras que en J2ME una parte se verifica antes (fuera del dispositivo) reduciendo as la carga de la mquina (Durante la compilacin se comprueban que excepciones pueden producirse en lugar de comprobarlas en tiempo de ejecucin). Descriptor y manifiesto: Cada aplicacin incluye archivos adicionales con informacin referente a las aplicaciones. No hay recolector de basura: Hay que eliminar de forma explcita los elementos que no vayan a usarse ms. La mquina virtual: La KVM es una versin reducida de la JVM diseada para dispositivos limitados.

ENTORNO DE EJECUCIN DE J2ME

Un entorno de ejecucin de J2ME se compone de:


Perfiles. Configuraciones. Mquina virtual. Sistema Operativo

J2ME

SISTEMA OPERATIVO

Symbian OS. Blackberry OS. Windows Mobile. Android. Iphone OS

Mquina Virtual KVM

J2ME a diferencia de J2SE utiliza una mquina virtual distinta de la clsica JVM denominada KVM (Kilobyte Virtual Machine). Esta KVM tiene unas restricciones que hacen que no posea todas las capacidades incluidas en la JVM. J2ME es un subconjunto de J2SE (excepto por el paquete javax.microedition).

CONFIGURACIONES J2ME

Las configuraciones son un conjunto de clases bsicas orientadas a conformar el corazn de las implementaciones para dispositivos de caractersticas especficas. Existen 2 configuraciones definidas en J2ME: Connected Limited Device Configuration (CLDC) enfocada a dispositivos con restricciones de procesamiento y memoria. La VM (Virtual Machine) de la configuracin CLDC se denomina KVM.

CONFIGURACIONES J2ME

Connected Device Configuration (CDC) enfocada a dispositivos con ms recursos. La VM (Virtual Machine) de la CDC se denomina CVM (Compact Virtual Machine).

CONFIGURACIONES J2ME

CONFIGURACIONES J2ME
NOMBRE DE PAQUETE CDC java.io java.lang java.lang.ref java.lang.reflect java.math java.net java.security java.security.cert java.text java.util java.util.jar java.util.zip javax.microedition.io
NOMBRE DE PAQUETE CLDC java.io java.lang java.util javax.microedition.io

DESCRIPCION Clases de interfaces estndar de E/S. Clases bsicas del lenguaje. Clases de referencia. Clases e interfaces de reflection. Paquete de matemticas. Clases e interfaces de red. Clases e interfaces de seguridad. Clases de certificados de seguridad. Paquete de texto. Clases de utilidades estndar. Clases y utilidades para archivos .JAR. Clases y utilidades para archivos ZIP y comprimidos. Clases e interfaces para conexin genrica CDC.

DESCRIPCION Clases y paquetes estndar de E/S. Subconjunto de J2SE. Clases e interfaces de la Mquina Virtual. Subconjunto de J2SE. Clases, interfaces y utilidades estndar. Subconjunto de J2SE. Clases e interfaces de conexin genrica CLDC.

PERFILES J2ME

Los perfiles determinan para que tipos de dispositivos estaremos programando como por ejemplo (electrodomsticos, telfonos mviles, etc.) y el tipo de aplicaciones que se ejecutarn en ellos. Las libreras de la interfaz grfica son un componente muy importante en la definicin de un perfil. Aqu nos podemos encontrar grandes diferencias entre interfaces, desde el men textual de los telfonos mviles hasta los tctiles de los PDAs.

PERFILES J2ME

Para la configuracin CDC tenemos los siguientes perfiles:

Foundation Profile. Personal Profile. RMI Profile.

Para la configuracin CLDC tenemos los siguientes:


PDA Profile. Mobile Information Device Profile (MIDP).

PERFILES J2ME

PERFILES J2ME

PAQUETES DEL FOUNDATION PROFILE java. Lang java.util java.net java.io java.text java.security

DESCRIPCION Soporte del lenguaje. Aade soporte completo para zip y otras funcionalidades (java.util.Timer) Incluye sockets TCP/IP y conexiones HTTP. Clases Reader y Writer de J2SE. Incluye soporte para internacionalizacin. Incluye cdigos y certificados.

PAQUETES DEL PERSONAL PROFILE java. applet java.awt java.awt.datatransfer java.awt.event java.awt.font java.awt.im java.awt.im.spi java.awt.image java.beans javax.midlet.xlet

DESCRIPCION Clases necesitadas para crear applets o que son usadas por ello. Clases para crear GUIs con AWT. Clases e interfaces para transmitir datos entre aplicaciones. Clases e interfaces para manejar eventos AWT. Clases e interfaces para manipulacin de fuentes. Clases e interfaces para definir mtodos editores de entrada. Interfaces que aaden el desarrollo de mtodos editores de entrada. Clases para crear y modificar imgenes. Clases que soportan JavaBeans . Interfaces que usan el Personal Profile para la comunicacin.

PERFILES J2ME

PAQUETES DEL MIDP javax.microedition.Icdui javax.microedition.rms javax.microedition.midlet javax.microedition.io java.io java.lang java.util

DESCRIPCION Clases e interfaces para GUIs. Soporte para el almacenamiento persistente del dispositivo. Clases de definicin de la aplicacin. Clases e interfaces de conexin genrica. Clases e interfaces de E/S bsica. Clases e interfaces de la Mquina Virtual. Clases e intefaces de utilidades estndar.

MIDLET

Es una aplicacin MIDP diseada para dispositivos mviles. Como se ejecuta??


No tiene Main Ni las configuraciones ni los perfiles poseen Main Se encarga el AMS (Application Management System) de ejecutarlo.

MIDLET: AMS

Que es el AMS? Application Management System. Programa pre-instalado dependiente del dispositivo y de la implementacin del JME del fabricante.
Funcionalidad Gestiona la descarga de los MIDLET Gestiona la ejecucin de los MIDLET Controla el acceso a los recursos del dispositivo

MIDLET: CICLO DE VIDA

El AMS llama a los siguientes mtodos para controlar la vida de un Midlet starApp pauseApp destroyApp

MIDLET

Las aplicaciones MIDP deben mtodos antes mencionados:

implementar

los

startApp (): Este mtodo es utilizado para la ejecucin del MIDlet. Su objetivo es ejecutar la aplicacin y solicitar recursos. pauseApp (): Este mtodo es invocado por el sistema para solicitarle al MIDlet que haga una pausa. Libera los recursos adquiridos por el mtodo starApp ().

MIDLET

destroyApp (boolean unconditional): Este mtodo es llamado por el sistema antes de que sea destruido el MIDlet. Adems libera todos los recursos adquiridos. Los MIDlets son empaquetados en carpetas .JAR junto a imgenes, logos, para formar una MIDlet suite.

JAR

Cada archivo .JAR lleva asociado un archivo .JAD (Java Application Descriptor, Descriptor de Aplicacin Java) que es utilizado para gestionar la instalacin. Los MIDlets tienen atributos obligatorios y opcionales
ATRIBUTOS OBLIGATORIOS MIDlet-Name MIDlet-Versin MIDlet-Vendor MIDlet-<n> (name, icon, class) MicroEdition-Profile MicroEdition-Configuration ATRIBUTOS OPCIONALES MIDlet-Description MIDlet-Icon MIDlet-Info-URL MIDlet-Data-Size

PROCESO INSTALACION

J2ME

import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class hola extends MIDlet { private Display pantalla; private Form formulario = null; public hola() { pantalla = Display.getDisplay(this); formulario = new Form("Hola Mundo"); }

J2ME

public void startApp(){ pantalla.setCurrent(formulario); } public void pauseApp(){ } public void destroyApp(boolean unconditional){ pantalla = null; formulario = null; notifyDestroyed(); }}

J2ME

La clase Display representa el manejador de la pantalla y los dispositivos de entrada. Todo MIDlet debe poseer por lo menos un objeto Display. En este objeto Display podemos incluir tantos objetos Displayable como queramos.

J2ME

La clase Display puede obtener informacin sobre las caractersticas de la pantalla del dispositivo donde se ejecute el MIDlet, adems de ser capaz de mostrar los objetos que componen nuestras interfaces. Todo MIDlet debe poseer al menos una instancia del objeto Display. Para obtenerla se utiliza: Display pantalla = Display.getDisplay(this)

J2ME

Dentro del mtodo startApp tendremos que hacer referencia a la pantalla que queramos que est activa haciendo uso del mtodo: setCurrent() Hay que tener en cuenta que cada vez que salimos del mtodo pauseApp, entramos en el mtodo startApp, por lo que la construccin de las pantallas y dems elementos que formarn parte de nuestro MIDlet la tendremos que hacer en el mtodo constructor.

MIDLET: JERARQUA DE CLASES

Las clases Especficas de JME son las siguientes

MIDLET: API Y JSR

JME esta compuesto por varias APIs o JSRs (Java Specification Request) API Alto Nivel API Bajo Nivel RMS LWUIT Bluetooth MMAPI

JME: INTRODUCCIN A LA INTERFAZ DE ALTO NIVEL


Introduccin Elementos

Alto Nivel

List Alert TextBox Form

GUI Alto Nivel: List

Mediante la clase List podemos crear listas de elementos seleccionables. Tipos: EXCLUSIVE - Slo se puede seleccionar un elemento IMPLICIT - Se selecciona el elemento que tiene el foco MULTIPLE - Permite la seleccin mltiple

GUI ALTO NIVEL: ALERT

Permiten mostrar una pantalla durante un tiempo o hasta que se produzca un comando de tipo OK. Se utiliza para mostrar errores u otro tipo de mensajes al usuario. Tipos

ALARM CONFIRMATION ERROR INFO WARNING

GUI ALTO NIVEL: TEXTBOX

La clase TextBox permite introducir y editar texto a pantalla completa. Es como un pequeo editor de textos. Las limitaciones pueden ser alguna de los siguientes: ANY - Sin limitacin EMAILADDR - Slo una direccin de email NUMERIC - Slo se permiten nmeros PASSWORD - Los caracteres no sern visibles PHONENUMBER - Slo nmeros de telfono URL - Slo direcciones URL

GUI ALTO NIVEL: FORM

Un Form es un elemento de tipo contenedor, es decir, es capaz de contener una serie de elementos visuales con los que podemos construir interfaces ms elaboradas.

LIBRERIAS MIDP

Javax.microedition.Midlet Define la funcionalidad de las aplicaciones y el entorno en el que se ejecutan Javax.microedition.lcdui Contiene clases asociadas con la interfaz grafica y el manejo de eventos Javax.microedition.rms Contiene clases para realizar almacenamiento persistentes de los datos Javax.microedition.io Continene clases que permiten la conectividad a una red

javax.microedition.lcdui

Interfaces:
Choice CommandListener ItemCommandListener ItemStateListener

javax.microedition.lcdui

Alert AlertType Canvas ChoiceGroup Command CustomItem DateField Display Displayable

Font Form Gauge Graphics Image ImageItem Item List Screen

Spacer StringItem TextBox TextField Ticket