introducción al desarrollo de aplicaciones móviles usando j2meiwg101/examples/j2me-1.pdf ·...
TRANSCRIPT
CHM-2008 Seminario de Telemática II 1
Capítulo 5Introducción al Desarrollo de
Aplicaciones Móviles usando J2ME
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Telemática
TEL-352Seminario de Telemática II
CHM-2008 Seminario de Telemática II 2
• Introducir los principales conceptos de la plataforma de desarrollo J2ME.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Objetivos
CHM-2008 Seminario de Telemática II 3
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Introducción a J2ME
CHM-2008 Seminario de Telemática II 4
• Java 2 Plataform, Micro Edition (J2ME) es la versión liviana de java para dispositivos pequeños.
• Ventajas:– El desarrollo en general es independiente de la
plataforma móvil, o con pocos cambios.– Características de seguridad que provienen de java.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Introducción a J2ME
CHM-2008 Seminario de Telemática II 5
• J2ME es java para dispositivos pequeños.• Está dividido en:
– Configurations– Profiles– Optional APIs.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Principales Aspectos
CHM-2008 Seminario de Telemática II 6
• Define un tipo específico de dispositivo, con restricciones de memoria y poder de procesamiento.
• Esto especifica un tipo de máquina virtual que debe soportar el dispositivo.
• También define un subconjunto de clases J2SE, y un conjunto de APIs opcionales.
• Incluye: CLDC 1.0, 1.1
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Configuration
CHM-2008 Seminario de Telemática II 7
• Define aspectos más específicos de la configuración.• Está basado en la configuración y provee APIs
adicionales tales como interfaz de usuario, almacenamiento persistente, etc.
• Incluye: MIDP 1.0, 2.0, 2.1
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Profiles
CHM-2008 Seminario de Telemática II 8
• Definen ciertas funcionalidades adicionales que pueden ser incluidas en la configuración o profile.
• Stack: configuration, profile y optional apis.– Ejemplo: CLDC 1.0 + MIDP 2.0 + MMAPI
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Optional APIs
CHM-2008 Seminario de Telemática II 9
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Configuraciones y Profiles Comunes
CHM-2008 Seminario de Telemática II 10
JSR Nombre30 Connected, Limited Device Configuration (CLDC) 1.0139 Connected, Limited Device Configuration (CLDC) 1.136 Connected Device Configuration 1.0.1218 Connected Device Configuration 1.1
* Para ver detalles de JSR: http://jcp.org/jsr/detail/<JSR>.jsp
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Configurations
CHM-2008 Seminario de Telemática II 11
JSR Nombre37 Mobile Information Device Profile 1.0118 Mobile Information Device Profile 2.075 PDA Profile 1.046 Foundation Profile 1.0129 Personal Basis Profile 1.062 Personal Profile 1.0219 Foundation Profile 1.1217 Personal Basis Profile 1.1
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Profiles
CHM-2008 Seminario de Telemática II 12
JSR Nombre75 PDA Optional Packages for J2ME82 Java APIs for Bluetooth135 Mobile Media API 1.1184 Mobile 3D Graphics179 Location API for J2ME120 Wireless Messaging API 1.0205 Wireless Messaging API 2.0172 J2ME Web Services APIs66 RMI Optional Package
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Optional APIs
CHM-2008 Seminario de Telemática II 13
• Existen dos tipo de configuraciones:– CDC: Connected Device Configuration.– CLDC: Connected, Limited Device Configuration.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Configurations
CHM-2008 Seminario de Telemática II 14
• 512 KB de memoria ROM mínimo.• 256 KB de memória RAM mínimo.• Algún tipo de conexión de red.• Diseñado para:
– sep-top boxes.– Sistema de navegación de autos.– PDA de alta gama.– Versiones CDC 1.0.1 y 1.1
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Connected Device Configuration
CHM-2008 Seminario de Telemática II 15
• Está pensada para dispositivos más pequeños que CDC.• Describe limitaciones:
– Resolución de display– Memoria– Poder de CPU– Tamaño del display– Entrada– Batería– Conexión a red
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Connected, Limited DeviceConfiguration
CHM-2008 Seminario de Telemática II 16
• Mobile Information Device Profile (MIDP).• De acuerdo a la especificación MIDP 2.0 (JSR-118) un
dispositivo tiene las siguientes características:– Mínimo de 256 KB de ROM para la implementación
MIDP.– Mínimo de 128 KB de RAM para el java runtime
heap.– Mínimo de 8 KB de memoria no volátil para
almacenamiento persistente.– Mínimo de 96x54 pixeles.– Algún dispositivo de entrada.– Dos conexiones de red, posiblemente intermitentes.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Profiles
CHM-2008 Seminario de Telemática II 17
• Dada la cantidad de configuraciones, profiles y optionalAPIs, ¿cuál sería configuración típica?.
• Sun respondió definiendo JSR-185: Java Technology for de Wireless Industry (JTWI).
– MIDP 2.0– CLDC 1.0 o 1.1– WMA (Wireless Message API – JSR 120).– MMAPI (Mobile Media API) para dispositivos con
audio y video.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Estandarización de la Plataforma
CHM-2008 Seminario de Telemática II 18
• Las aplicaciones se componen de paquetes CLDC y MIDP.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Anatomía de Aplicaciones J2ME
CHM-2008 Seminario de Telemática II 19
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Anatomía de Aplicaciones J2ME
CHM-2008 Seminario de Telemática II 20
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Componentes del Software MIDP
CHM-2008 Seminario de Telemática II 21
• Portabilidad:– Una aplicación escrita usando MIDP puede ser
directamente portable en cualquier dispositivo MIDP.– La característica multi-plataforma es prácticamente
transparente.• Seguridad:
– Seguro para ejecutar aplicaciones descargadas.– La aplicación no puede escapar del confinamiento
JVM.– Permite aplicaciones firmadas.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Ventajes de MIDP
CHM-2008 Seminario de Telemática II 22
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Construcción de MIDlets
CHM-2008 Seminario de Telemática II 23
• J2ME Wireless Toolkit de Sun: http://java.sun.com/products/sjwtoolkit/
– Contiene las herramientas básicas para construir y empaquetar MIDlets.
• Ofuscador:http://wireless.java.sun.com/midp/ttips/proguard/
– Reduce el tamaño del MIDlet.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Herramientas Básicas
CHM-2008 Seminario de Telemática II 24
• Borland JBuilder MobileSet: http://www.borland.com/jbuilder/mobileset/ • IBM WebSphere Studio Device Developer: http://www-
3.ibm.com/software/pervasive/products/wsdd/• Metrowerks CodeWarrior Wireless Studio:
http://www.metrowerks.com/MW/Develop/Wireless/Wireless_Studio/default.htm
• Research In Motion BlackBerry Java Development Environment: http://www.blackberry.net/developers/na/java/start/download.shtml
• Sun ONE Studio, Mobile Edition: http://wwws.sun.com/software/sundev/jde/features/me-features.html
• Zucotto Wireless WHITEboard SDK: http://www.zucotto.com/products/wb/whiteboard.html
• Netbeans: http://www.netbeans.org/• Eclipse: http://www.eclipse.org/
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
IDEs Disponibles
CHM-2008 Seminario de Telemática II 25
• Ant:– Es una herramienta para automatizar la compilación.– Es similar a “make”.– Es open source, parte del proyecto Apache Jakarta:
http://ant.apache.org
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Otras Herramientas
CHM-2008 Seminario de Telemática II 26
• Construcción con Wireless Toolkit• Construcción con Netbeans
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Ejemplo
CHM-2008 Seminario de Telemática II 27
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
MIDlets
CHM-2008 Seminario de Telemática II 28
• Las aplicaciones son una instancia de javax.microedition.midlet.MIDlet.
• Tienen un ciclo de vida específico respecto de métodos y comportamientos de la clase MIDlet.
• Una parte del software del dispositivo es el ApplicationManager, que controla la instalación, ejecución y ciclo de vida del MIDlet.
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
MIDlets
CHM-2008 Seminario de Telemática II 29
• Un MIDlet pasa a través de los siguientes estados:– Cuando se ejecuta el MIDlet, se crea una instancia de éste. Se
ejecuta el constructor y el MIDlet pasa a estado Pausado.– A continuación, el MIDlet entra en estado Activo luego que el
application manager llama a startApp().– Cuando el MIDlet está en estado Activo, el aplicación manager
puede suspender la ejecución llamando a pauseApp(). Esto pone al MIDlet en Pausado. Un MIDlet puede ponerse en Pausado por si mismo si llama al notifyPaused().
– Cuando el MIDlet está en estado Pausado, el applicactionmanager puede llamar a startApp() para volver el MIDlet a estado activo.
– El application manager puede terminar la ejecución del MIDletllamando a destroyApp(). Un MIDlet se puede terminar asímismo llamando a notifyDestroyed().
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Ciclo de Vida del MIDlet
CHM-2008 Seminario de Telemática II 30
Universidad Técnica Federico Santa MaríaDepartamento de Electrónica
Capítulo 5
Ciclo de Vida del MIDlet