Introduccin a J 2 ME Java para dispositivos

  • Slides: 18
Download presentation
Introducción a J 2 ME Java para dispositivos móviles JEFI – 27 de Octubre

Introducción a J 2 ME Java para dispositivos móviles JEFI – 27 de Octubre de 2004 Joaquín Alvarez Rosario Monteverde Tutor de la ayudantía: Andrés de Sosa

Introducción • J 2 ME provee de un entorno de desarrollo para la creación

Introducción • J 2 ME provee de un entorno de desarrollo para la creación de aplicaciones para dispositivos móviles. • Tal como J 2 EE o J 2 SE, J 2 ME incluye JVMs y un conjunto de APIs para el desarrollo. • Las aplicaciones basadas en las especificaciones de J 2 ME se escriben para un conjunto amplio de dispositivos, pero pueden aprovechar las capacidades especificas de cada uno de ellos.

Introducción La plataforma J 2 ME se encuentra implementada en millones de dispositivos, y

Introducción La plataforma J 2 ME se encuentra implementada en millones de dispositivos, y es en definitiva la plataforma elegida hoy en día para la programación de dispositivos móviles.

Componentes del ambiente J 2 ME

Componentes del ambiente J 2 ME

Componentes del ambiente J 2 ME • El entorno de desarrollo J 2 ME

Componentes del ambiente J 2 ME • El entorno de desarrollo J 2 ME – Configurations (configuraciones) – Profiles (perfiles) – Extensions (extensiones)

Configuraciones • Las Configuraciones (Configurations) están compuestas por: • Java Virtual Machine • Conjunto

Configuraciones • Las Configuraciones (Configurations) están compuestas por: • Java Virtual Machine • Conjunto mínimo de clases base. • Proveen la funcionalidad básica para un cierto conjunto de dispositivos con características similares de memoria, conectividad a la red, etc. • Existen dos tipos de configuraciones • Connected Limited Device Configuration (CLDC) • Connected Device Configuration (CDC)

Configuraciones (cont) • CLDC es la configuración más pequeña. • Se utiliza para dispositivos

Configuraciones (cont) • CLDC es la configuración más pequeña. • Se utiliza para dispositivos con poca memoria y procesadores lentos (teléfonos celulares, PDAs) • CDC es para dispositivos con más memoria y procesadores más rápidos como ser dispositivos de vehículos, y PDAs muy potentes. Incluye un subset mucho más grande de J 2 SE, y una JVM más completa que CLDC.

Perfiles • Para completar el entorno de desarrollo para una categoría específica de dispositivos,

Perfiles • Para completar el entorno de desarrollo para una categoría específica de dispositivos, se necesita un “Perfil” (Profile) • Es un Conjunto de APIs de más alto nivel que permiten acceder a propiedades específicas del dispositivo, definir la interfaz de usuario, etc). • Hay 4 perfiles básicos: • • MIDP Foundation Profile Personal Basis Profile.

Extensiones • La plataforma J 2 ME puede extenderse mediante el uso de paquetes

Extensiones • La plataforma J 2 ME puede extenderse mediante el uso de paquetes opcionales • Dichos paquetes ofrecen por ejemplo APIs standard para multimedia, Bluetooth, y otras tecnologías emergentes. • Al ser modulares se evita el overhead de cargar con funcionalidad adicional que no se utiliza.

Ejemplo de entorno J 2 ME • Un ejemplo es combinar CLDC con el

Ejemplo de entorno J 2 ME • Un ejemplo es combinar CLDC con el “Mobile Information Device Profile” (MIDP) para proveer un entorno de desarrollo para teléfonos celulares. MIDP CLDC VM APLICACIÓN J 2 ME

Requerimientos en los dispositivos • Para que cualquier dispositivo pueda ejecutar aplicaciones j 2

Requerimientos en los dispositivos • Para que cualquier dispositivo pueda ejecutar aplicaciones j 2 me, debe contar con una máquina virtual que forme parte de su software. • Los nuevos teléfonos móviles que vienen preparados para las aplicaciones J 2 ME ya incorporan la máquina virtual como parte del software básico, denominada Kilobyte Virtual Machine por su reducido tamaño.

Requerimientos en los dispositivos • El soporte multiplataforma de J 2 ME abre el

Requerimientos en los dispositivos • El soporte multiplataforma de J 2 ME abre el camino para que dispositivos como PDA’s incluyan esta tecnología. • Para ello sólo tiene que existir una MV específica para el sistema operativo del dispositivo y una vía para poder instalarla. • Al incorporar ya las PDA’s un mecanismo de sincronización con el PC para la descarga de archivos, la instalación de la KVM en el dispositivo es inmediata.

Herramientas para desarrollo y pruebas • Para comenzar a desarrollar en J 2 ME

Herramientas para desarrollo y pruebas • Para comenzar a desarrollar en J 2 ME es necesario tener instalado el J 2 SDK. • Para compilar y probar los programas, puede utilizarse el J 2 ME Wireless Toolkit (www. java. sun. com). • Existe además, software comercial para desarrollo: – Sun ONE Studio (http: //wwws. sun. com/software/sundev/jde/) – Black. Berry (http: //www. blackberry. com/developers/na/java/tools/jde/index. shtml) – Plug-ins para Eclipse (http: //eclipseme. sourceforge. net/)

Ejemplo • Para ejemplificar el desarrollo y prueba de aplicaciones utilizaremos el J 2

Ejemplo • Para ejemplificar el desarrollo y prueba de aplicaciones utilizaremos el J 2 ME Wireless Toolkit que provee Sun. • Esta compuesto básicamente por: – Compilador J 2 ME – Emulador de dispositivos

J 2 ME Wireless Toolkit

J 2 ME Wireless Toolkit

Prueba de aplicaciones • Aplicaciones ya existentes • Se pueden conseguir en la web

Prueba de aplicaciones • Aplicaciones ya existentes • Se pueden conseguir en la web • Se deben colocar los archivos (. jar y. jad) en un directorio del emulador y se ejecutan directamente. • Aplicación nueva • Se escribe el código en un editor de texto (por ej: Notepad) • Dicho código se guarda en un archivo con extensión. java y se compila y ejecuta con la herramienta

Prueba de aplicaciones import javax. microedition. lcdui. *; import javax. microedition. midlet. *; public

Prueba de aplicaciones import javax. microedition. lcdui. *; import javax. microedition. midlet. *; public class Hello. MIDlet extends MIDlet implements Command. Listener { private Form m. Main. Form; public Hello. MIDlet() { m. Main. Form = new Form("Hello. MIDlet"); m. Main. Form. append(new String. Item(null, “Hola JEFI!!!")); m. Main. Form. add. Command(new Command("Exit", Command. EXIT, 0)); m. Main. Form. set. Command. Listener(this); } public void start. App() { Display. get. Display(this). set. Current(m. Main. Form); } public void pause. App() {} public void destroy. App(boolean unconditional) {} public void command. Action(Command c, Displayable s) { notify. Destroyed(); } }

GRACIAS

GRACIAS