1 / 18

Introducción a J2ME Java para dispositivos móviles

Introducción a J2ME 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. J2ME provee de un entorno de desarrollo para la creación de aplicaciones para dispositivos móviles.

karan
Download Presentation

Introducción a J2ME Java para dispositivos móviles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducción a J2MEJava para dispositivos móviles JEFI – 27 de Octubre de 2004 Joaquín Alvarez Rosario Monteverde Tutor de la ayudantía: Andrés de Sosa

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

  3. Introducción La plataforma J2ME 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.

  4. Componentes del ambiente J2ME

  5. Componentes del ambiente J2ME • El entorno de desarrollo J2ME • Configurations (configuraciones) • Profiles (perfiles) • Extensions (extensiones)

  6. 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)

  7. 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 J2SE, y una JVM más completa que CLDC.

  8. 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 Profile • Personal Basis Profile.

  9. Extensiones • La plataforma J2ME 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.

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

  11. Requerimientos en los dispositivos • Para que cualquier dispositivo pueda ejecutar aplicaciones j2me, 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 J2ME ya incorporan la máquina virtual como parte del software básico, denominada Kilobyte Virtual Machine por su reducido tamaño.

  12. Requerimientos en los dispositivos • El soporte multiplataforma de J2ME 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.

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

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

  15. J2ME Wireless Toolkit

  16. 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

  17. Prueba de aplicaciones import javax.microedition.lcdui.*; import javax.microedition.midlet.*; publicclass HelloMIDlet extends MIDlet implements CommandListener { private Form mMainForm; public HelloMIDlet() { mMainForm =new Form("HelloMIDlet"); mMainForm.append(new StringItem(null, “Hola JEFI!!!")); mMainForm.addCommand(new Command("Exit", Command.EXIT, 0)); mMainForm.setCommandListener(this); } publicvoid startApp() { Display.getDisplay(this).setCurrent(mMainForm); } publicvoid pauseApp() {} publicvoid destroyApp(boolean unconditional) {} publicvoid commandAction(Command c, Displayable s) { notifyDestroyed(); } }

  18. GRACIAS

More Related