j2me presentacion

16
Introducción a J2ME Introducción a J2ME Java para Java para dispositivos dispositivos móviles móviles

Upload: vivian7894

Post on 08-Jun-2015

11.864 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: J2me Presentacion

Introducción a J2MEIntroducción a J2MEJava para Java para

dispositivos móvilesdispositivos móviles

Page 2: J2me Presentacion

IntroducciónIntroducción J2ME provee de un entorno de desarrollo para J2ME provee de un entorno de desarrollo para

la creación de aplicaciones para dispositivos la creación de aplicaciones para dispositivos móviles.móviles.

Tal como J2EE o J2SE, J2ME incluye JVMs y un Tal como J2EE o J2SE, J2ME incluye JVMs y un conjunto de APIs para el desarrollo.conjunto de APIs para el desarrollo.

Las aplicaciones basadas en las Las aplicaciones basadas en las especificaciones de J2ME se escriben para un especificaciones de J2ME se escriben para un conjunto amplio de dispositivos, pero pueden conjunto amplio de dispositivos, pero pueden aprovechar las capacidades especificas de aprovechar las capacidades especificas de cada uno de ellos. cada uno de ellos.

Page 3: J2me Presentacion

VENTAJASVENTAJAS

• Portabilidad del código: Las aplicaciones se escriben una vez y pueden ejecutarse en cualquier dispositivo de las mismas características• Descarga dinámica: de las aplicaciones sobre la red móvil• Aplicaciones locales: Las aplicaciones se descargan al terminal y se ejecutan e local cuando quiera y donde quiera• Seguridad: Son aplicaciones autocontenidas, no tienen acceso al sistema operativo del dispositivo• Mejora drástica de la experiencia de usuario• Comunidad de desarrolladores: una de las más grandes del mundo

Page 4: J2me Presentacion

ComponentesComponentes• Java: lenguaje de programación independiente del hardware donde se ejecuta.•J2ME: Versión de Java para dispositivos con limitaciones de memoria, tales como teléfonos móviles

Page 5: J2me Presentacion

ComponenteComponentess

J2ME define una serie de componentes (building blocks) a partir de los cuales se construye una implantación concreta para un dispositivo determinado

• Máquina virtual: Encargada de interpretar código intermedio (bytecode) de los programas Java precompilados a código máquina ejecutable por la plataforma

•Configuración: Conjunto de APIs básicas de Java que definen un entorno generalizado de ejecución

•Perfil: Conjunto de APIs orientadas a un ámbito de aplicación determinado

Page 6: J2me Presentacion

Máquina VirtualMáquina Virtual• C Virtual Machine (CVM): Implementación de referencia escrita en lenguaje C de la máquina virtual de Java (JVM) estándar, orientada a dispositivos electrónicos con procesadores de 32 bits de gama alta y en torno a 2 MB o más de memoria RAM

• K Virtual Machine (KVM): Se trata de una implementación de referencia para una JVM reducida especialmente orientada a dispositivos con bajas capacidades computacionales y memoria limitada

Page 7: J2me Presentacion

ConfiguracionesConfiguraciones• Connected Device Configuration (CDC): La CDC está orientada a dispositivos electrónicos con las siguientes capacidades:

Procesador de 32 bits. 512 KB mínimo de memoria ROM. 256 KB mínimo de memoria RAM. Conectividad a algún tipo de red. Soporte total de la JVM v.2

Dispositivos típicos a los que la CDC se orienta son: Decodificadores de TV, Teléfonos con navegación de Internet (communicators), Sistemas de navegación para coches.

Page 8: J2me Presentacion

ConfiguracionesConfiguraciones• Connected Limited Device Configuration (CLDC): La CLDC está orientada a dispositivos dotados de conectividad con reducidas capacidades:

Procesador de bajas prestaciones, posiblemente de 16 bits. 128-512 KB de memoria total, incluyendo ROM/Flash y RAM. Potencia limitada, frecuentemente alimentados por baterías. Conectividad reducida (=< 9600 bps), como en el caso de GSM.

Entre los dispositivos a los que la CLDC se orienta tenemos: PDAs de bajas prestaciones (tipo Palm), Teléfonos móviles GSM y 2,5G (GPRS).Terminales de transacciones electrónicas.

Page 9: J2me Presentacion

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.

Page 10: J2me Presentacion

ExtensionesExtensiones

La plataforma J2ME puede extenderse La plataforma J2ME puede extenderse mediante el uso de paquetes opcionalesmediante el uso de paquetes opcionales

Dichos paquetes ofrecen por ejemplo APIs Dichos paquetes ofrecen por ejemplo APIs standard para multimedia, Bluetooth, y otras standard para multimedia, Bluetooth, y otras tecnologías emergentes.tecnologías emergentes.

Al ser modulares se evita el overhead de Al ser modulares se evita el overhead de cargar con funcionalidad adicional que no se cargar con funcionalidad adicional que no se utiliza. utiliza.

Page 11: J2me Presentacion

Requerimientos en los Requerimientos en los dispositivosdispositivos

Para que cualquier dispositivo pueda ejecutar Para que cualquier dispositivo pueda ejecutar aplicaciones j2me, debe contar con una máquina aplicaciones j2me, debe contar con una máquina virtual que forme parte de su software. virtual que forme parte de su software.

Los nuevos teléfonos móviles que vienen Los nuevos teléfonos móviles que vienen preparados para las aplicaciones J2ME ya preparados para las aplicaciones J2ME ya incorporan la máquina virtual como parte del incorporan la máquina virtual como parte del software básico, denominada software básico, denominada Kilobyte Virtual Kilobyte Virtual Machine Machine por su reducido tamaño. por su reducido tamaño.

Page 12: J2me Presentacion

EjemploEjemplo

Para ejemplificar el desarrollo y Para ejemplificar el desarrollo y prueba de aplicaciones utilizaremos prueba de aplicaciones utilizaremos el J2ME el J2ME Wireless Toolkit que provee Wireless Toolkit que provee Sun.Sun.

Esta compuesto básicamente por:Esta compuesto básicamente por:– Compilador J2MECompilador J2ME– Emulador de dispositivosEmulador de dispositivos

Page 13: J2me Presentacion

J2ME Wireless ToolkitJ2ME Wireless Toolkit

Page 14: J2me Presentacion

Prueba de aplicacionesPrueba de aplicaciones Aplicaciones ya existentesAplicaciones ya existentes

• Se pueden conseguir en la webSe pueden conseguir en la web

• Se deben colocar los archivos (.jar y .jad) en un Se deben colocar los archivos (.jar y .jad) en un directorio del emulador y se ejecutan directamente.directorio del emulador y se ejecutan directamente.

Aplicación nuevaAplicación nueva• Se escribe el código en un editor de texto (por ej: Se escribe el código en un editor de texto (por ej:

Notepad)Notepad)

• Dicho código se guarda en un archivo con extensión Dicho código se guarda en un archivo con extensión .java y se compila y ejecuta con la herramienta.java y se compila y ejecuta con la herramienta

Page 15: J2me Presentacion

Prueba de aplicacionesPrueba de aplicacionesimportimport javax.microedition.lcdui.*; javax.microedition.lcdui.*;importimport javax.microedition.midlet.*; javax.microedition.midlet.*;publicpublic classclass HelloMIDlet HelloMIDlet extendsextends MIDlet MIDlet implementsimplements

CommandListener CommandListener {{privateprivate Form mMainForm; Form mMainForm;publicpublic HelloMIDlet() HelloMIDlet() {{

mMainForm mMainForm == newnew Form("HelloMIDlet"); Form("HelloMIDlet");mMainForm.append(mMainForm.append(newnew StringItem(null, “Hola JEFI!!!")); StringItem(null, “Hola JEFI!!!"));mMainForm.addCommand(mMainForm.addCommand(newnew Command("Exit", Command("Exit",

Command.EXIT, 0));Command.EXIT, 0));mMainForm.setCommandListener(this);mMainForm.setCommandListener(this);

}}publicpublic voidvoid startApp() startApp() {{

Display.getDisplay(this).setCurrent(mMainForm);Display.getDisplay(this).setCurrent(mMainForm);}}publicpublic voidvoid pauseApp() pauseApp() {}{}publicpublic voidvoid destroyApp( destroyApp(booleanboolean unconditional) unconditional) {}{}publicpublic voidvoid commandAction(Command c, Displayable s) commandAction(Command c, Displayable s) {{

notifyDestroyed();notifyDestroyed();}}

}}

Page 16: J2me Presentacion

Herramientas para desarrollo y Herramientas para desarrollo y pruebaspruebas

Para comenzar a desarrollar en J2ME es necesario Para comenzar a desarrollar en J2ME es necesario tener instalado el JDK. tener instalado el JDK.

Para compilar y probar los programas, puede utilizarse Para compilar y probar los programas, puede utilizarse el J2ME Wireless Toolkit (el J2ME Wireless Toolkit (www.java.sun.comwww.java.sun.com).).

Existe además, software comercial para desarrollo:Existe además, software comercial para desarrollo:– Sun ONE Studio Sun ONE Studio

((http://http://wwws.sun.comwwws.sun.com/software//software/sundevsundev//jdejde//))

– BlackBerry BlackBerry ((http://www.blackberry.com/developers/na/java/tools/jde/index.shtmlhttp://www.blackberry.com/developers/na/java/tools/jde/index.shtml))

– Plug-ins para EclipsePlug-ins para Eclipse

((http://http://eclipseme.sourceforge.neteclipseme.sourceforge.net//))