Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

J2me Presentacion

17,480 views

Published on

Published in: Technology, Business
  • Be the first to comment

J2me Presentacion

  1. 1. Introducción a J2ME Java para dispositivos móviles
  2. 2. Introducción <ul><li>J2ME provee de un entorno de desarrollo para la creación de aplicaciones para dispositivos móviles. </li></ul><ul><li>Tal como J2EE o J2SE, J2ME incluye JVMs y un conjunto de APIs para el desarrollo. </li></ul><ul><li>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. </li></ul>
  3. 3. <ul><li>VENTAJAS </li></ul><ul><li>Portabilidad del código: Las aplicaciones se escriben una vez y pueden ejecutarse en cualquier dispositivo de las mismas características </li></ul><ul><li>Descarga dinámica: de las aplicaciones sobre la red móvil </li></ul><ul><li>Aplicaciones locales: Las aplicaciones se descargan al terminal y se ejecutan e local cuando quiera y donde quiera </li></ul><ul><li>Seguridad: Son aplicaciones autocontenidas, no tienen acceso al sistema operativo del dispositivo </li></ul><ul><li>Mejora drástica de la experiencia de usuario </li></ul><ul><li>Comunidad de desarrolladores : una de las más grandes del mundo </li></ul>
  4. 4. Componentes <ul><li>Java: lenguaje de programación independiente del hardware donde se ejecuta. </li></ul><ul><li>J2ME: Versión de Java para dispositivos con limitaciones de memoria, tales como teléfonos móviles </li></ul>
  5. 5. Componentes <ul><li>J2ME define una serie de componentes (building blocks) a partir de los cuales se construye una implantación concreta para un dispositivo determinado </li></ul><ul><li>Máquina virtual: Encargada de interpretar código intermedio ( bytecode ) de los programas Java precompilados a código máquina ejecutable por la plataforma </li></ul><ul><li>Configuración: C onjunto de APIs básicas de Java que definen un entorno generalizado de ejecución </li></ul><ul><li>Perfil: C onjunto de APIs orientadas a un ámbito de aplicación determinado </li></ul>
  6. 6. Máquina Virtual <ul><li>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 </li></ul><ul><li>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 </li></ul>
  7. 7. Configuraciones <ul><li>Connected Device Configuration (CDC): La CDC está orientada a dispositivos electrónicos con las siguientes capacidades: </li></ul><ul><ul><ul><li>Procesador de 32 bits. </li></ul></ul></ul><ul><ul><ul><li>512 KB mínimo de memoria ROM. </li></ul></ul></ul><ul><ul><ul><li>256 KB mínimo de memoria RAM. </li></ul></ul></ul><ul><ul><ul><li>Conectividad a algún tipo de red. </li></ul></ul></ul><ul><ul><ul><li>Soporte total de la JVM v.2 </li></ul></ul></ul><ul><li>Dispositivos típicos a los que la CDC se orienta son: </li></ul><ul><ul><ul><li>Decodificadores de TV, </li></ul></ul></ul><ul><ul><ul><li>Teléfonos con navegación de Internet ( communicators ), </li></ul></ul></ul><ul><ul><ul><li>Sistemas de navegación para coches. </li></ul></ul></ul>
  8. 8. Configuraciones <ul><li>Connected Limited Device Configuration (CLDC): La CLDC está orientada a dispositivos dotados de conectividad con reducidas capacidades: </li></ul><ul><ul><ul><li>Procesador de bajas prestaciones, posiblemente de 16 bits. </li></ul></ul></ul><ul><ul><ul><li>128-512 KB de memoria total, incluyendo ROM/Flash y RAM. </li></ul></ul></ul><ul><ul><ul><li>Potencia limitada, frecuentemente alimentados por baterías. </li></ul></ul></ul><ul><ul><ul><li>Conectividad reducida (=< 9600 bps), como en el caso de GSM. </li></ul></ul></ul><ul><li>Entre los dispositivos a los que la CLDC se orienta tenemos: </li></ul><ul><ul><ul><li>PDAs de bajas prestaciones (tipo Palm), </li></ul></ul></ul><ul><ul><ul><li>Teléfonos móviles GSM y 2,5G (GPRS). </li></ul></ul></ul><ul><ul><ul><li>Terminales de transacciones electrónicas. </li></ul></ul></ul>
  9. 9. 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.
  10. 10. Extensiones <ul><li>La plataforma J2ME puede extenderse mediante el uso de paquetes opcionales </li></ul><ul><li>Dichos paquetes ofrecen por ejemplo APIs standard para multimedia, Bluetooth, y otras tecnologías emergentes. </li></ul><ul><li>Al ser modulares se evita el overhead de cargar con funcionalidad adicional que no se utiliza. </li></ul>
  11. 11. Requerimientos en los dispositivos <ul><li>Para que cualquier dispositivo pueda ejecutar aplicaciones j2me, debe contar con una máquina virtual que forme parte de su software. </li></ul><ul><li>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. </li></ul>
  12. 12. Ejemplo <ul><li>Para ejemplificar el desarrollo y prueba de aplicaciones utilizaremos el J2ME Wireless Toolkit que provee Sun. </li></ul><ul><li>Esta compuesto básicamente por: </li></ul><ul><ul><li>Compilador J2ME </li></ul></ul><ul><ul><li>Emulador de dispositivos </li></ul></ul>
  13. 13. J2ME Wireless Toolkit
  14. 14. Prueba de aplicaciones <ul><li>Aplicaciones ya existentes </li></ul><ul><ul><li>Se pueden conseguir en la web </li></ul></ul><ul><ul><li>Se deben colocar los archivos (.jar y .jad) en un directorio del emulador y se ejecutan directamente. </li></ul></ul><ul><li>Aplicación nueva </li></ul><ul><ul><li>Se escribe el código en un editor de texto (por ej: Notepad) </li></ul></ul><ul><ul><li>Dicho código se guarda en un archivo con extensión .java y se compila y ejecuta con la herramienta </li></ul></ul>
  15. 15. Prueba de aplicaciones <ul><li>import javax.microedition.lcdui.*; </li></ul><ul><li>import javax.microedition.midlet.*; </li></ul><ul><li>public class HelloMIDlet extends MIDlet implements CommandListener { </li></ul><ul><ul><li>private Form mMainForm; </li></ul></ul><ul><ul><li>public HelloMIDlet() { </li></ul></ul><ul><ul><ul><li>mMainForm = new Form(&quot;HelloMIDlet&quot;); </li></ul></ul></ul><ul><ul><ul><li>mMainForm.append( new StringItem(null, “Hola JEFI!!!&quot;)); </li></ul></ul></ul><ul><ul><ul><li>mMainForm.addCommand( new Command(&quot;Exit&quot;, Command.EXIT, 0)); </li></ul></ul></ul><ul><ul><ul><li>mMainForm.setCommandListener(this); </li></ul></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>public void startApp() { </li></ul></ul><ul><ul><ul><li>Display.getDisplay(this).setCurrent(mMainForm); </li></ul></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>public void pauseApp() {} </li></ul></ul><ul><ul><li>public void destroyApp( boolean unconditional) {} </li></ul></ul><ul><ul><li>public void commandAction(Command c, Displayable s) { </li></ul></ul><ul><ul><ul><ul><li>notifyDestroyed(); </li></ul></ul></ul></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  16. 16. Herramientas para desarrollo y pruebas <ul><li>Para comenzar a desarrollar en J2ME es necesario tener instalado el JDK. </li></ul><ul><li>Para compilar y probar los programas, puede utilizarse el J2ME Wireless Toolkit ( www.java.sun.com ). </li></ul><ul><li>Existe además, software comercial para desarrollo: </li></ul><ul><ul><li>Sun ONE Studio </li></ul></ul><ul><ul><li>( http:// wwws.sun.com /software/ sundev / jde / ) </li></ul></ul><ul><ul><li>BlackBerry ( http://www.blackberry.com/developers/na/java/tools/jde/index.shtml ) </li></ul></ul><ul><ul><li>Plug-ins para Eclipse </li></ul></ul><ul><ul><li>( http:// eclipseme.sourceforge.net / ) </li></ul></ul>

×