Download Capítulo 5 - Departamento de Electrónica - UTFSM

Document related concepts
no text concepts found
Transcript
Universidad Técnica Federico Santa María
Departamento de Electrónica
Telemática
TEL-352
Seminario de Telemática II
Capítulo 5
Introducción al Desarrollo de
Aplicaciones Móviles usando J2ME
CHM-2008
Seminario de Telemática II
1
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Objetivos
•
Introducir los principales conceptos de la plataforma de
desarrollo J2ME.
CHM-2008
Seminario de Telemática II
2
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Introducción a J2ME
CHM-2008
Seminario de Telemática II
3
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Introducción a J2ME
•
•
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.
CHM-2008
Seminario de Telemática II
4
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Principales Aspectos
•
•
J2ME es java para dispositivos pequeños.
Está dividido en:
– Configurations
– Profiles
– Optional APIs.
CHM-2008
Seminario de Telemática II
5
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Configuration
•
•
•
•
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
CHM-2008
Seminario de Telemática II
6
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Profiles
•
•
•
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
CHM-2008
Seminario de Telemática II
7
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Optional APIs
•
•
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
CHM-2008
Seminario de Telemática II
8
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Configuraciones y Profiles Comunes
CHM-2008
Seminario de Telemática II
9
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Configurations
JSR
Nombre
30
139
36
218
Connected, Limited Device Configuration (CLDC) 1.0
Connected, Limited Device Configuration (CLDC) 1.1
Connected Device Configuration 1.0.1
Connected Device Configuration 1.1
* Para ver detalles de JSR: http://jcp.org/jsr/detail/<JSR>.jsp
CHM-2008
Seminario de Telemática II
10
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Profiles
JSR
Nombre
37
118
75
46
129
62
219
217
Mobile Information Device Profile 1.0
Mobile Information Device Profile 2.0
PDA Profile 1.0
Foundation Profile 1.0
Personal Basis Profile 1.0
Personal Profile 1.0
Foundation Profile 1.1
Personal Basis Profile 1.1
CHM-2008
Seminario de Telemática II
11
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Optional APIs
JSR
Nombre
75
82
135
184
179
120
205
172
66
PDA Optional Packages for J2ME
Java APIs for Bluetooth
Mobile Media API 1.1
Mobile 3D Graphics
Location API for J2ME
Wireless Messaging API 1.0
Wireless Messaging API 2.0
J2ME Web Services APIs
RMI Optional Package
CHM-2008
Seminario de Telemática II
12
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Configurations
•
Existen dos tipo de configuraciones:
– CDC: Connected Device Configuration.
– CLDC: Connected, Limited Device Configuration.
CHM-2008
Seminario de Telemática II
13
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Connected Device Configuration
•
•
•
•
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
CHM-2008
Seminario de Telemática II
14
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Connected, Limited Device
Configuration
•
•
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
CHM-2008
Seminario de Telemática II
15
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Profiles
•
•
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.
CHM-2008
Seminario de Telemática II
16
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Estandarización de la Plataforma
•
•
Dada la cantidad de configuraciones, profiles y optional
APIs, ¿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.
CHM-2008
Seminario de Telemática II
17
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Anatomía de Aplicaciones J2ME
•
Las aplicaciones se componen de paquetes CLDC y
MIDP.
CHM-2008
Seminario de Telemática II
18
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Anatomía de Aplicaciones J2ME
CHM-2008
Seminario de Telemática II
19
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Componentes del Software MIDP
CHM-2008
Seminario de Telemática II
20
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Ventajes de MIDP
•
•
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.
CHM-2008
Seminario de Telemática II
21
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Construcción de MIDlets
CHM-2008
Seminario de Telemática II
22
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Herramientas Básicas
•
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.
CHM-2008
Seminario de Telemática II
23
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
IDEs Disponibles
•
•
•
•
•
•
•
•
Borland JBuilder MobileSet: http://www.borland.com/jbuilder/mobileset/
IBM WebSphere Studio Device Developer: http://www3.ibm.com/software/pervasive/products/wsdd/
Metrowerks CodeWarrior Wireless Studio:
http://www.metrowerks.com/MW/Develop/Wireless/Wireless_Studio/defau
lt.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/
CHM-2008
Seminario de Telemática II
24
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Otras Herramientas
•
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
CHM-2008
Seminario de Telemática II
25
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Ejemplo
•
•
Construcción con Wireless Toolkit
Construcción con Netbeans
CHM-2008
Seminario de Telemática II
26
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
MIDlets
CHM-2008
Seminario de Telemática II
27
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
MIDlets
•
•
•
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 Application
Manager, que controla la instalación, ejecución y ciclo
de vida del MIDlet.
CHM-2008
Seminario de Telemática II
28
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Ciclo de Vida del MIDlet
•
Un MIDlet pasa a través de los siguientes estados:
–
–
–
–
–
CHM-2008
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 applicaction
manager puede llamar a startApp() para volver el MIDlet a
estado activo.
El application manager puede terminar la ejecución del MIDlet
llamando a destroyApp(). Un MIDlet se puede terminar así
mismo llamando a notifyDestroyed().
Seminario de Telemática II
29
Capítulo 5
Universidad Técnica Federico Santa María
Departamento de Electrónica
Ciclo de Vida del MIDlet
CHM-2008
Seminario de Telemática II
30