Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Pg. 2
ndice
Introduccin Plataforma Java ME:
Java ME dispositivos menos limitados. Java ME dispositivos limitados.
Referencias
Pg. 3
Introduccin
Java es un entorno de programacin orientado a objetos desarrollado por Sun:
write once, run anywhere
Cuatro ediciones:
Java EE (Enterprise Edition):
Construir aplicaciones distribuidas para entornos empresariales. Centrado en el desarrollo del lado del servidor. Aplicaciones web. Construir aplicaciones en entornos PC. Subconjunto de Java SE para dispositivos embebidos (mviles, PDAs, TV set-top box). Construir aplicaciones para tarjetas inteligentes. Tambin para dispositivos mviles a travs de las tarjetas (U)SIM.
Java ME
Java Card:
Java SE
Java EE
Pg. 4
Plataforma Java ME
Java ME est dirigido a un amplio rango de dispositivos. Para conseguir flexibilidad y adaptacin se estructura en tres niveles:
Configuracin. Perfil. Paquetes opcionales.
OPTIONAL PACKAGES
PROFILE CONFIGURATION
VIRTUAL MACHINE
Estandarizacin realizada va la iniciativa Java Community Process (JCP) que genera los correspondientes Java Specification Report (JSR). Un mismo dispositivo puede soportar varios perfiles con varios paquetes opcionales.
Pg. 5
OPTIONAL PACKAGES
PP PSB FP
Perfiles:
FP (Foundation Profile), PSB (Personal Basic Profile) y PP (Personal Profile).
CDC
HOTSPOT VM
Paquetes opcionales.
Pg. 6
DESCRIPCIN
Clases e interfaces estndar de E/S. Clases e interfaces bsicas del lenguaje Clases soporte matemtico Clases e interfaces de red (TCP/IP) Clases e interfaces de seguridad y gestin de certificados Clases e interfaces para gestionar textos, nmero, fechas, etc Clases, interfaces y utilidades estndar. Clases e interfaces de conexin genrica dispositivos limitados
Pg. 7
Incluye APIs de comunicacin, seguridad, compresin y utilidades como temporizadores y gestin de eventos. No incluye ningn soporte de interfaz grfico. Ejemplos: impresoras, routers, pasarelas residenciales,
PBP:
Versiones 1.1.2 (JSR 217) y 1.0 (JSR 129):
La versin 1.1.2 aade ms clases de interfaz grfico.
Necesita el FP, por lo tanto, engloba las APIs de FP. Incluye APIs para el soporte de interfaces grficas bsicas (basado en AWT), soporte a JavaBeans y el modelo de programacin de Xlets.
El soporte de GUI est derivado de Java SE 1.4.
Pg. 8
Necesita el PBP, por lo tanto, engloba las APIs de PBP y FP. Incluye soporte completo a AWT y soporte a applets. Ejemplos: PDAs de altas prestaciones, navegadores web embebidos,
Pg. 9
Pg. 10
Perfil:
MIDP (Mobile Information Device Profile).
Paquetes opciones.
Pg. 11
INTERPRETER
BYTECODE
COMPILED CODE
PROFILER
COMPILER
Pg. 12
Incluye el entorno de ejecucin y un conjunto de clases bsicas. No incluye ningn API de gestin de interfaces grficas, ni de gestin del ciclo de vida de las aplicaciones, ni implementa modelos de E/S:
Fuertemente ligado a MIDP.
PAQUETES
java.io java.lang java.util javax.microedition.io
DESCRIPCIN
Clases estndar de E/S. Subconjunto de Java SE. Clases e interfaces de la VM. Subconjunto de Java SE Clases, interfaces y utilidades estndar. Subconjunto de Java SE Clases e interfaces de conexin genrica CLDC
Pg. 13
Complementa CLDC aadiendo gestin del ciclo de vida de las aplicaciones (MIDlets), interfaz grfico, conectividad, almacenamiento persistente, multimedia (sonidos) y seguridad.
Pg. 14
PAQUETES
javax.microedition.midlet
DESCRIPCIN
Ciclo de vida de las aplicaciones (MIDlets)
javax.microedition.lcdui
javax.microedition.rms javax.microedition.io
MIDP 2.0
PAQUETES
javax.microedition.lcdui.game javax.microedition.pki javax.microedition.media Javax.microedition.media.control
DESCRIPCIN
Clases e interfaces de interfaz grfica para juegos Clases e interfaces de seguridad basada en clave pblica Clases, interfaces para reproduccin de sonido
MIDP 1.0
MIDP 1.0
Canvas
Item javax.microedition
midlet
Ciclo de vida
MIDlet
io
Red
Connector
rms
Almacenamiento persistente
RecordStore
io
java
lang
MIDP 2.0
(respecto MIDP 1.0)
Displayable
lcdui
Interfaz de Usuario Item GameCanvas Layer LayerManager
lcudi.game
Interfaz de Usuario Juegos
Sprite TiledLayer
midlet
Ciclo de vida javax.microedition
io
Red
media media.control
Sonido
Manager
rms
Almacenamiento persistente
pki
Clave Pblica
Certificate
io
java
lang
util
Pg. 17
Pg. 18
Pg. 19
Pg. 20
Pg. 21
Pg. 22
Pg. 23
Pg. 24
Pg. 25
Pg. 26
Pg. 27
MIDlet: Creacin
Escribir el cdigo y compilar. Preverificar el cdigo. Empaquetar en un JAR y crear el descriptor (fichero JAD).
prog.java
Descarga
Entorno de desarrollo
javac
verificador
Ejecutar en emulador.
prog.class
preverificador prog.class prog.jar prog.jad
intrprete
Pg. 28
MIDlet: Publicacin
MIDlet
PUBLICAR
SERVIDOR
DESCARGAR
CREAR
MIDlet
MIDlet
ENTORNO DE DESARROLLO
DISPOSITIVO
Pg. 29
Se establece una negociacin sobre capacidades del dispositivo segn los requisitos del MIDlet, coste...:
El resultado de esta negociacin puede provocar que no se realice una descarga efectiva.
Instalacin:
Gestionado por el AMS. Puede comprobar que el MIDlet no vulnera las polticas de seguridad del mvil. Puede transformar (convertir) el MIDlet de formato pblico a un formato especfico del dispositivo. Se extrae la aplicacin del paquete (JAR) y se deja en disposicin de ser ejecutada.
Pg. 30
MIDlet: Ejecucin
El usuario selecciona el MIDlet y lo ejecuta. En este momento, el MIDlet entra en la VM y se invocan los mtodos que gestionan su ciclo de vida:
Paused: Iniciado y a la espera. Active: Tiene recursos ejecutando. Destroyed: Ha liberado recursos, destruido hilos y terminado toda su actividad.
destroyApp() new()
PAUSED
stratApp() pauseApp()
ACTIVE
destroyApp()
DESTROYED
Pg. 31
Borrado:
A travs del AMS puede borrarse un MIDlet cuando no va a utilizarse ms. Se borra:
MIDlet. Todos los registros en memoria permanente escritos por ese MIDlet.
Pg. 32
Incluye los ficheros de clases y otros recursos asociados al MIDlet, por ejemplo imgenes.
Normalmente aunque slo se incluya un MIDlet se trabaja con MIDlet Suite. Los MIDlets en un MIDlet Suite comparten recursos:
Contenidos en el JAR. RMS creados por los otros MIDlets del mismo MIDlet Suite.
Pg. 33
MIDlet: Manifiesto
El manifiesto (manifest.mf) est incluido en el JAR y contiene informacin sobre los contenidos del fichero JAR.
ATRIBUTOS OPCIONALES
MIDlet-Description MIDlet-Icon MIDlet-Info-URL MIDlet-Data-Size MIDlet-Permissions MIDlet-Permissions-Opt MIDlet-Push-<n> MIDlet-Install-Notify MIDlet-Delete-Notify MIDlet-Delete-Confirm
Pg. 34
MIDlet: Descriptor
Fichero de extensin .JAD y que permite al AMS comprobar si el MIDlet es adecuado para descargarlo.
ATRIBUTOS OPCIONALES
MIDlet-<n> (name, icon, class) MicroEdition-Profile MicroEdition-Configuration MIDlet-Description MIDlet-Icon MIDlet-Info-URL MIDlet-Data-Size MIDlet-Permissions MIDlet-Permissions-Opt
MIDlet-Push-<n>
MIDlet-Install-Notify MIDlet-Delete-Notify MIDlet-Delete-Confirm
Pg. 35
MIDlet: javax.microedition.midlet.MIDlet
Clase abstracta base para todos los MIDlets:
protected MIDlet()
Constructor para crear un MIDlet, sin argumentos.
Pg. 36
Pg. 37
Pg. 38
Pg. 39
Pg. 40
Java Verified
Si queremos que nuestras aplicaciones las utilicen terceros es importante pasar por un proceso de verificacin, si es una aplicacin Java ME ser el Java Verified.
Importante si queremos darla de alta en las tiendas de aplicaciones ms populares.
Si se concluye exitosamente el proceso de verificacin, la aplicacin estar firmada y se podr publicitar con el logo Java Powered.
Imagen obtenida de http://javaverified.com/
Pg. 41
Pg. 42
Pg. 43
Pg. 44
Referencias
Java ME:
"Mobile Phone Programming and its Application to Wireless Networking". Fitzek, Frank H. P. and Reichert, Frank (Editors). (L/D 621.396.4) (Chapter 3). "J2ME : Java 2 micro edition : manual de usuario y tutorial". Froufe Quintas, Agustn. (L/S 004.438 JAVA FRO). http://download.oracle.com/javame/
Java Verified:
http://www.javaverified.com