Download J2ME-Seccion 1

Document related concepts
no text concepts found
Transcript
Taller de Programación
de Dispositivos Móviles
José Miguel Rubio L.
Oficina 3-20
http://www.inf.ucv.cl/~jrubio
[email protected]
Parte 1
1.Programación de dispositivos móviles
2.Limitaciones de los dispositivos móviles
3.Sistemas operativos móviles
4.Desarrollo de aplicaciones móviles
5.Java 2 Mobile Edition
6.Configuración CDC
7.Configuración CLDC
8.Paquetes opcionales en J2ME
9.MIDP: MIDlets
10.MIDP: Interfaces Gráficas de Usuario
11.MIDP: Persistencia
12.MIDP: Conexión por red
13.Persistencia II: Ficheros
14.Para terminar
Programación de Dispositivos Móviles
La generalización en los últimos años de teléfonos
móviles, smartphones, PDAs, etc. ha generado una
importante necesidad de aplicaciones para este tipo
de dispositivos.
●Las prestaciones de los dispositivos móviles se incrementan día a día, posibilitando la implementación de
aplicaciones muy interesantes.
●
●
●
●
●
●
●
●
Acceso a Internet y conectividad mediante Bluetooth
Envío de mensajes cortos
Aceleración 2D y 3D
Reproducción de video y sonido
Cámara integrada
Información de localización GPS
●
Sensores de orientación
etc.
Programación de
dispositivos móviles
Limitaciones de los dispositivos móviles
La necesidad de ahorrar energía obliga a utilizar
procesadores con una capacidad de cómputo limitada y baja frecuencia de reloj.
●El uso intensivo de cálculos, gráficos, sonido, conexiones inalámbricas, etc. limita la vida de la bateria.
●
La memoria disponible es muy limitada en comparación con la de un computador común.
●El almacenamiento de datos persistente también es
muy limitado: memoria interna + tarjetas SD o similar.
●
Sistemas operativos móviles
Son sistemas operativos específicos para este tipo
de dispositivos, que tienen en cuenta las limitaciones
que hemos visto antes.
●Symbian es el S.O. instalado en mayor número de
dispositivos móviles en la actualidad, sobre todo
teléfonos móviles.
●Dos plataformas: S60 y UIQ
●
S60
UIQ
móviles
Windows Mobile, con mayor difusión en el mercado
de PDAs.
●
Palm OS, utilizado por el fabricante de PDAs
Palm Inc.
●
Programación de
dispositivos móviles
Android, es un S.O. para móviles presentado recientemente por Google. Utiliza un kernel Linux.
●
Otros S.O. móviles: RIM Blackberry y otros S.O.
basados en kernel linux.
●
Sistemas operativos
móviles
Desarrollo de aplicaciones móviles
Gran disparidad de plataformas de desarrollo.
●Symbian (S60 y UIQ): C++ con librerías nativas.
●Windows Mobile: .NET Compact Framework, una
versión limitada de .NET.
●PalmOS: C/C++, con librerías nativas.
●Android: Java con librerías nativas (no J2ME).
●Java Mobile Edition (J2ME) para múltiples plataformas, especialmente Symbian.
●Otras: Python.
●
móviles
Java 2 Mobile
Edition
Java 2 Mobile Edition
La única opción real que permite un desarrollo
multiplataforma para dispositivos móviles.
●Tiene una estructura altamente modular para adaptarse a las características de cada dispositivo.
●
Sistemas operativos
móviles
Java 2 Mobile
Edition
Las configuraciones (CDC y CDLC) definen el e
ntorno mínimo necesario para la ejecución de aplicaciones java en un grupo amplio de dispositivos móviles (JVM/KVM+paquetes básicos).
●Los perfiles definen paquetes adicionales para soportar funcionalidades básicas imprescindibles de
cada familia de dispositivos
●Los paquetes opcionales sirven para cubrir funcionalidades específicas: Bluetooth, soporte 3D,
etc.
●
Sistemas operativos
móviles
Configuración CLDC
Configuración CLDC
CLDC (Connected Limited Device Configuration).
Para dispositivos con potencia de cálculo, memoria, batería y acceso a red limitados
●Incluye una máquina virtual java reducida (KVM) y
los siguientes paquetes:
●
●
●
●
●
●
java.lang (reducida)
java.lang.ref (reducida)
java.util (reducida)
java.io (reducida)
java.microedition.io
Sólo incluye las clases básicas
●EEDDs: Vector, Hashtable y Stack
●
Sistemas operativos
móviles
Configuración CDLC
Mobile Information Device Profile (MIDP) es el
perfil más común con CLDC
●MIDP permite la implementación de aplicaciones con
la siguiente funcionalidad:
●
●
●
●
●
Interfaz de usuario sencilla, adaptada a móviles
●
API especializado para juegos
Persistencia básica
Conexión por red
Sonido
La mayoría de los móviles actuales soportan CLDC
+MIDP. Mucho éxito por la implementación de juegos
●La programación MIDP para configuración CLDC
requiere la instalación del Sun Java Wireless Toolkit
●Netbeans proporciona soporte mediante el Mobility
Pack
●
Sistemas operativos
móviles
Paquetes
opcionales
en J2ME
Paquetes opcionales en J2ME
Permiten extender la funcionalidad básica de los
perfiles para aprovechar todas las posibilidades del
dispositivo.
●Wireless Messaging API (WMA) JSR­120, JSR­205.
Envío de mensajes SMS.
●Mobile Media API (MMAPI) JSR­135. Soporte de
audio y video, tanto reproducción como captura.
●Location API JSR­179. Localización geográfica del
dispositivo, mediante GPS u otros mecanismos.
●
Sistemas operativos
móviles
Paquetes
opcionales
en J2ME
Personal Information Management and File Connection API JSR 75. Acceso a la lista de contactos del
teléfono móvil y al sistema de ficheros
●Security and Trust Services API JSR 177. Tratamiento de información privada, ejecución segura, identificación y autentificación, etc.
●Mobile 3D Graphics JSR 184. Soporte de gráficos
3D
●J2ME Web Services API (WSA) JSR­172. Soporte
de servicios web en dispositivos móviles
●J2ME RMI JSR 66. Llamada a operaciones de objetos remotos
●Bluetooth API JSR 82
●
Sistemas operativos
móviles