Introducción a J2ME Java para dispositivos móviles
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.
VENTAJAS 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
Componentes 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
Componentes 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:  C onjunto de APIs básicas de Java que definen un entorno generalizado de ejecución Perfil:  C onjunto de APIs orientadas a un ámbito de aplicación determinado
Máquina Virtual C Virtual Machine (CVM): I mplementació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
Configuraciones 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.
Configuraciones 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.
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.
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.
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.
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
J2ME Wireless Toolkit
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   class  HelloMIDlet  extends  MIDlet  implements  CommandListener  { private  Form mMainForm; public  HelloMIDlet()  { mMainForm  =   new  Form(&quot;HelloMIDlet&quot;); mMainForm.append( new  StringItem(null, “Hola JEFI!!!&quot;)); mMainForm.addCommand( new  Command(&quot;Exit&quot;, Command.EXIT, 0)); mMainForm.setCommandListener(this); } public   void  startApp()  {   Display.getDisplay(this).setCurrent(mMainForm); } public   void  pauseApp()  {} public   void  destroyApp( boolean  unconditional)  {} public   void  commandAction(Command c, Displayable s)  { notifyDestroyed(); } }
Herramientas para desarrollo y pruebas Para comenzar a desarrollar en J2ME es necesario tener instalado el JDK.  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 / )

J2me Presentacion

  • 1.
    Introducción a J2MEJava para dispositivos móviles
  • 2.
    Introducción J2ME proveede 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.
    VENTAJAS Portabilidad delcó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
  • 4.
    Componentes 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
  • 5.
    Componentes J2ME defineuna 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: C onjunto de APIs básicas de Java que definen un entorno generalizado de ejecución Perfil: C onjunto de APIs orientadas a un ámbito de aplicación determinado
  • 6.
    Máquina Virtual CVirtual Machine (CVM): I mplementació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
  • 7.
    Configuraciones Connected DeviceConfiguration (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.
  • 8.
    Configuraciones Connected LimitedDevice 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.
  • 9.
    La plataforma J2MEse 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.
  • 10.
    Extensiones La plataformaJ2ME 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.
  • 11.
    Requerimientos en losdispositivos 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.
    Ejemplo Para ejemplificarel desarrollo y prueba de aplicaciones utilizaremos el J2ME Wireless Toolkit que provee Sun. Esta compuesto básicamente por: Compilador J2ME Emulador de dispositivos
  • 13.
  • 14.
    Prueba de aplicacionesAplicaciones 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
  • 15.
    Prueba de aplicacionesimport javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class HelloMIDlet extends MIDlet implements CommandListener { private Form mMainForm; public HelloMIDlet() { mMainForm = new Form(&quot;HelloMIDlet&quot;); mMainForm.append( new StringItem(null, “Hola JEFI!!!&quot;)); mMainForm.addCommand( new Command(&quot;Exit&quot;, Command.EXIT, 0)); mMainForm.setCommandListener(this); } public void startApp() { Display.getDisplay(this).setCurrent(mMainForm); } public void pauseApp() {} public void destroyApp( boolean unconditional) {} public void commandAction(Command c, Displayable s) { notifyDestroyed(); } }
  • 16.
    Herramientas para desarrolloy pruebas Para comenzar a desarrollar en J2ME es necesario tener instalado el JDK. 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 / )