DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME...

40
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME g. Ronald Criollo

Transcript of DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME...

Page 1: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

DESARROLLO DE SOLUCIONES

EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN

DESARROLLO DE SOLUCIONES

EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN

APLICACIONES MOVILESCON J2ME

Ing. Ronald Criollo

Page 2: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

J2ME SISTEMA OPERATIVO MAQUINA VIRTUAL CONFIGURACIONES PERFILES MIDLET

AGENDA

AGENDA

Page 3: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Es una versión reducida de J2SE creada para poder desarrollar en dispositivos limitados como son los teléfonos móviles.

J2MEJ2ME

Page 4: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Las diferentes tecnologías de Java comparten un conjunto amplio de APIs básicas del lenguaje, agrupadas principalmente en los paquetes java.lang y java.io.

J2ME contiene una mínima 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.

CARACTERISTICAS J2MECARACTERISTICAS J2ME

Page 5: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Tipos de datos: J2ME no soporta los tipos float y double (son muy costosos y no disponen de una FPU Unidad de Coma Flotante ).

Preverificación: J2SE verifica el código en tiempo de ejecución mientras que en J2ME una parte se verifica antes (fuera del dispositivo) reduciendo así la carga de la máquina (Durante la compilación se comprueban que excepciones pueden producirse en lugar de comprobarlas en tiempo de ejecución).

Descriptor y manifiesto: Cada aplicación incluye archivos adicionales con información referente a las aplicaciones.

No hay recolector de basura: Hay que eliminar de forma explícita los elementos que no vayan a usarse más.

La máquina virtual: La KVM es una versión reducida de la JVM diseñada para dispositivos limitados.

No hay “main”: El equivalente sería la función startApp().

DIFERENCIAS ENTRE J2ME Y J2SEDIFERENCIAS ENTRE J2ME Y J2SE

Page 6: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Un entorno de ejecución de J2ME se compone de:

Perfiles. Configuraciones. Máquina virtual. Sistema Operativo

ENTORNO DE EJECUCIÓN DE J2MEENTORNO DE EJECUCIÓN DE J2ME

Page 7: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

J2MEJ2ME

Page 8: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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

SISTEMA OPERATIVOSISTEMA OPERATIVO

Page 9: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

J2ME a diferencia de J2SE utiliza una máquina virtual distinta de la clásica 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).

Máquina Virtual KVMMáquina Virtual KVM

Page 10: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Las configuraciones son un conjunto de clases básicas orientadas a conformar el corazón de las implementaciones para dispositivos de características específicas.

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 configuración CLDC se denomina KVM.

CONFIGURACIONES J2MECONFIGURACIONES J2ME

Page 11: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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

CONFIGURACIONES J2MECONFIGURACIONES J2ME

Page 12: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

CONFIGURACIONES J2MECONFIGURACIONES J2ME

Page 13: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

CONFIGURACIONES J2MECONFIGURACIONES J2ME

NOMBRE DE PAQUETE CDC DESCRIPCIONjava.io Clases de interfaces estándar de E/S.java.lang Clases básicas del lenguaje.java.lang.ref Clases de referencia.java.lang.reflect Clases e interfaces de reflection.java.math Paquete de matemáticas.java.net Clases e interfaces de red.java.security Clases e interfaces de seguridad.java.security.cert Clases de certificados de seguridad.java.text Paquete de texto.java.util Clases de utilidades estándar.java.util.jar Clases y utilidades para archivos .JAR.java.util.zip Clases y utilidades para archivos ZIP y comprimidos.javax.microedition.io Clases e interfaces para conexión genérica CDC.

NOMBRE DE PAQUETE CLDC DESCRIPCION

java.io Clases y paquetes estándar de E/S. Subconjunto de J2SE.java.lang Clases e interfaces de la Máquina Virtual. Subconjunto de J2SE.java.util Clases, interfaces y utilidades estándar. Subconjunto de J2SE.javax.microedition.io Clases e interfaces de conexión genérica CLDC.

Page 14: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Los perfiles determinan para que tipos de dispositivos estaremos programando como por ejemplo (electrodomésticos, teléfonos móviles, etc.) y el tipo de aplicaciones que se ejecutarán en ellos.

Las librerías de la interfaz gráfica son un componente muy importante en la definición de un perfil. Aquí nos podemos encontrar grandes diferencias entre interfaces, desde el menú textual de los teléfonos móviles hasta los táctiles de los PDAs.

PERFILES J2MEPERFILES J2ME

Page 15: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Para la configuración CDC tenemos los siguientes perfiles: Foundation Profile. Personal Profile. RMI Profile.

Para la configuración CLDC tenemos los siguientes: PDA Profile. Mobile Information Device Profile (MIDP).

PERFILES J2MEPERFILES J2ME

Page 16: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

PERFILES J2MEPERFILES J2ME

Page 17: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

PERFILES J2MEPERFILES J2ME

PAQUETES DEL FOUNDATION PROFILE DESCRIPCIONjava. Lang Soporte del lenguaje.java.util Añade soporte completo para zip y otras funcionalidades (java.util.Timer)java.net Incluye sockets TCP/IP y conexiones HTTP.java.io Clases Reader y Writer de J2SE.java.text Incluye soporte para internacionalización.java.security Incluye códigos y certificados.

PAQUETES DEL PERSONAL PROFILE DESCRIPCIONjava. applet Clases necesitadas para crear applets o que son usadas por ello.java.awt Clases para crear GUIs con AWT.java.awt.datatransfer Clases e interfaces para transmitir datos entre aplicaciones.java.awt.event Clases e interfaces para manejar eventos AWT.java.awt.font Clases e interfaces para manipulación de fuentes.java.awt.im Clases e interfaces para definir métodos editores de entrada.java.awt.im.spi Interfaces que añaden el desarrollo de métodos editores de entrada.java.awt.image Clases para crear y modificar imágenes.java.beans Clases que soportan JavaBeans .javax.midlet.xlet Interfaces que usan el Personal Profile para la comunicación.

Page 18: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

PERFILES J2MEPERFILES J2ME

PAQUETES DEL MIDP DESCRIPCION

javax.microedition.Icdui Clases e interfaces para GUIs.javax.microedition.rms Soporte para el almacenamiento persistente del dispositivo.javax.microedition.midlet Clases de definición de la aplicación.javax.microedition.io Clases e interfaces de conexión genérica.java.io Clases e interfaces de E/S básica.java.lang Clases e interfaces de la Máquina Virtual.java.util Clases e intefaces de utilidades estándar.

Page 19: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Es una aplicación MIDP diseñada para dispositivos móviles.

Como se ejecuta?? No tiene Main Ni las configuraciones ni los perfiles poseen Main Se encarga el AMS (Application Management System)

de ejecutarlo.

MIDLETMIDLET

Page 20: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

¿Que es el AMS? Application Management System. Programa pre-instalado dependiente del

dispositivo y de la implementación del JME del fabricante.

Funcionalidad Gestiona la descarga de los MIDLET Gestiona la ejecución de los MIDLET Controla el acceso a los recursos del dispositivo

MIDLET: AMSMIDLET: AMS

Page 21: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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

MIDLET: CICLO DE VIDAMIDLET: CICLO DE VIDA

Page 22: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Las aplicaciones MIDP deben implementar los métodos antes mencionados:

startApp (): Este método es utilizado para la ejecución del MIDlet. Su objetivo es ejecutar la aplicación y solicitar recursos.

pauseApp (): Este método es invocado por el sistema para solicitarle al MIDlet que haga una pausa. Libera los recursos adquiridos por el método starApp ().

MIDLETMIDLET

Page 23: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

destroyApp (boolean unconditional): Este método es llamado por el sistema antes de que sea destruido el MIDlet. Además libera todos los recursos adquiridos.

Los MIDlets son empaquetados en carpetas .JAR junto a imágenes, logos, para formar una MIDlet suite.

MIDLETMIDLET

Page 24: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Cada archivo .JAR lleva asociado un archivo .JAD (Java Application Descriptor, Descriptor de Aplicación Java) que es utilizado para gestionar la instalación.

Los MIDlets tienen atributos obligatorios y opcionales

JARJAR

ATRIBUTOS OBLIGATORIOS ATRIBUTOS OPCIONALES

MIDlet-Name MIDlet-DescriptionMIDlet-Versión MIDlet-IconMIDlet-Vendor MIDlet-Info-URLMIDlet-<n> (name, icon, class) MIDlet-Data-SizeMicroEdition-ProfileMicroEdition-Configuration

Page 25: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

PROCESO INSTALACIONPROCESO INSTALACION

Page 26: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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

}

J2MEJ2ME

Page 27: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

public void startApp(){pantalla.setCurrent(formulario);

}public void pauseApp(){}public void destroyApp(boolean unconditional){

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

} }

J2MEJ2ME

Page 28: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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.

J2MEJ2ME

Page 29: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

La clase Display puede obtener información sobre las características de la pantalla del dispositivo donde se ejecute el MIDlet, además 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)

J2MEJ2ME

Page 30: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Dentro del método startApp tendremos que hacer referencia a la pantalla que queramos que esté activa haciendo uso del método: setCurrent()

Hay que tener en cuenta que cada vez que salimos del método pauseApp, entramos en el método startApp, por lo que la construcción de las pantallas y demás elementos que formarán parte de nuestro MIDlet la tendremos que hacer en el método constructor.

J2MEJ2ME

Page 31: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Las clases Específicas de JME son las siguientes

Page 32: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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

Page 33: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Introducción Elementos Alto Nivel

List Alert TextBox Form

Page 34: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Mediante la clase List podemos crear listas de elementos seleccionables.

Tipos: EXCLUSIVE - Sólo se puede seleccionar un elemento IMPLICIT - Se selecciona el elemento que tiene el foco MULTIPLE - Permite la selección múltiple

GUI Alto Nivel: ListGUI Alto Nivel: List

Page 35: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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

Page 36: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

La clase TextBox permite introducir y editar texto a pantalla completa. Es como un pequeño editor de textos.

Las limitaciones pueden ser alguna de los siguientes: ANY - Sin limitación EMAILADDR - Sólo una dirección de email NUMERIC - Sólo se permiten números PASSWORD - Los caracteres no serán visibles PHONENUMBER - Sólo números de teléfono URL - Sólo direcciones URL

Page 37: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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 más elaboradas.

Page 38: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

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

LIBRERIAS MIDPLIBRERIAS MIDP

Page 39: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

Interfaces:

Choice CommandListener ItemCommandListener ItemStateListener

javax.microedition.lcduijavax.microedition.lcdui

Page 40: DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.

javax.microedition.lcduijavax.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