1 / 40

DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN

DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN. APLICACIONES MOVILES CON J2ME. Ing. Ronald Criollo. J2ME SISTEMA OPERATIVO MAQUINA VIRTUAL CONFIGURACIONES PERFILES MIDLET. AGENDA.

adele
Download Presentation

DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN

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. DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo

  2. J2ME • SISTEMA OPERATIVO • MAQUINA VIRTUAL • CONFIGURACIONES • PERFILES • MIDLET AGENDA

  3. Es una versión reducida de J2SE creada para poder desarrollar en dispositivos limitados como son los teléfonos móviles. J2ME

  4. Las diferentes tecnologías de Java comparten un conjunto amplio de APIs básicas del lenguaje, agrupadas principalmente en los paquetes java.lang y java.io. • J2ME contiene una mínima parte de las APIs de Java, siendo un total de 37 clases de la plataforma J2SE provenientes de los paquetes java.lang, java.io, java.util. CARACTERISTICAS J2ME

  5. Tipos de datos: J2ME no soporta los tipos float y double (son muy costosos y no disponen de una FPU Unidad de Coma Flotante ). • Preverificación: J2SE verifica el código en tiempo de ejecución mientras que en J2ME una parte se verifica antes (fuera del dispositivo) reduciendo así la carga de la máquina (Durante la compilación se comprueban que excepciones pueden producirse en lugar de comprobarlas en tiempo de ejecución). • Descriptor y manifiesto: Cada aplicación incluye archivos adicionales con información referente a las aplicaciones. • No hay recolector de basura: Hay que eliminar de forma explícita los elementos que no vayan a usarse más. • La máquina virtual: La KVM es una versión reducida de la JVM diseñada para dispositivos limitados. • No hay “main”: El equivalente sería la función startApp(). DIFERENCIAS ENTRE J2ME Y J2SE

  6. Un entorno de ejecución de J2ME se compone de: • Perfiles. • Configuraciones. • Máquina virtual. • Sistema Operativo ENTORNO DE EJECUCIÓN DE J2ME

  7. J2ME

  8. Symbian OS. • Blackberry OS. • Windows Mobile. • Android. • Iphone OS SISTEMA OPERATIVO

  9. J2ME a diferencia de J2SE utiliza una máquina virtual distinta de la clásica JVM denominada KVM (Kilobyte Virtual Machine). • Esta KVM tiene unas restricciones que hacen que no posea todas las capacidades incluidas en la JVM. J2ME es un subconjunto de J2SE (excepto por el paquete javax.microedition). Máquina Virtual KVM

  10. Las configuraciones son un conjunto de clases básicas orientadas a conformar el corazón de las implementaciones para dispositivos de características específicas. • Existen 2 configuraciones definidas en J2ME: • Connected Limited Device Configuration (CLDC) enfocada a dispositivos con restricciones de procesamiento y memoria. La VM (Virtual Machine) de la configuración CLDC se denomina KVM. CONFIGURACIONES J2ME

  11. Connected Device Configuration (CDC) enfocada a dispositivos con más recursos. La VM (Virtual Machine) de la CDC se denomina CVM (Compact Virtual Machine). CONFIGURACIONES J2ME

  12. CONFIGURACIONES J2ME

  13. CONFIGURACIONES J2ME

  14. Los perfiles determinan para que tipos de dispositivos estaremos programando como por ejemplo (electrodomésticos, teléfonos móviles, etc.) y el tipo de aplicaciones que se ejecutarán en ellos. • Las librerías de la interfaz gráfica son un componente muy importante en la definición de un perfil. Aquí nos podemos encontrar grandes diferencias entre interfaces, desde el menú textual de los teléfonos móviles hasta los táctiles de los PDAs. PERFILES J2ME

  15. Para la configuración CDC tenemos los siguientes perfiles: • Foundation Profile. • Personal Profile. • RMI Profile. • Para la configuración CLDC tenemos los siguientes: • PDA Profile. • Mobile Information Device Profile (MIDP). PERFILES J2ME

  16. PERFILES J2ME

  17. PERFILES J2ME

  18. PERFILES J2ME

  19. Es una aplicación MIDP diseñada para dispositivos móviles. • Como se ejecuta?? • No tiene Main • Ni las configuraciones ni los perfiles poseen Main • Se encarga el AMS (Application Management System) de ejecutarlo. MIDLET

  20. ¿Que es el AMS? • Application Management System. • Programa pre-instalado dependiente del dispositivo y de la implementación del JME del fabricante. • Funcionalidad • Gestiona la descarga de los MIDLET • Gestiona la ejecución de los MIDLET • Controla el acceso a los recursos del dispositivo MIDLET: AMS

  21. El AMS llama a los siguientes métodos para controlar la vida de un Midlet • starApp • pauseApp • destroyApp MIDLET: CICLO DE VIDA

  22. Las aplicaciones MIDP deben implementar los métodos antes mencionados: • startApp (): Este método es utilizado para la ejecución del MIDlet. Su objetivo es ejecutar la aplicación y solicitar recursos. • pauseApp (): Este método es invocado por el sistema para solicitarle al MIDlet que haga una pausa. Libera los recursos adquiridos por el método starApp (). MIDLET

  23. destroyApp (boolean unconditional): Este método es llamado por el sistema antes de que sea destruido el MIDlet. Además libera todos los recursos adquiridos. • Los MIDlets son empaquetados en carpetas .JAR junto a imágenes, logos, para formar una MIDlet suite. MIDLET

  24. Cada archivo .JAR lleva asociado un archivo .JAD (Java Application Descriptor, Descriptor de Aplicación Java) que es utilizado para gestionar la instalación. • Los MIDlets tienen atributos obligatorios y opcionales JAR

  25. PROCESO INSTALACION

  26. import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class hola extends MIDlet { private Display pantalla; private Form formulario = null; public hola() { pantalla = Display.getDisplay(this); formulario = new Form("Hola Mundo"); } J2ME

  27. public void startApp(){ pantalla.setCurrent(formulario); } public void pauseApp(){ } public void destroyApp(boolean unconditional){ pantalla = null; formulario = null; notifyDestroyed(); } } J2ME

  28. La clase Display representa el manejador de la pantalla y los dispositivos de entrada. • Todo MIDlet debe poseer por lo menos un objeto Display. • En este objeto Display podemos incluir tantos objetos Displayable como queramos. J2ME

  29. La clase Display puede obtener información sobre las características de la pantalla del dispositivo donde se ejecute el MIDlet, además de ser capaz de mostrar los objetos que componen nuestras interfaces. • Todo MIDlet debe poseer al menos una instancia del objeto Display. Para obtenerla se utiliza: • Display pantalla = Display.getDisplay(this) J2ME

  30. Dentro del método startApp tendremos que hacer referencia a la pantalla que queramos que esté activa haciendo uso del método: setCurrent() • Hay que tener en cuenta que cada vez que salimos del método pauseApp, entramos en el método startApp, por lo que la construcción de las pantallas y demás elementos que formarán parte de nuestro MIDlet la tendremos que hacer en el método constructor. J2ME

  31. Las clases Específicas de JME son las siguientes Midlet: Jerarquía de clases

  32. JME esta compuesto por varias APIs o JSRs (Java Specification Request) • API Alto Nivel • API Bajo Nivel • RMS • LWUIT • Bluetooth • MMAPI • … Midlet: API y JSR

  33. Introducción • Elementos Alto Nivel • List • Alert • TextBox • Form JME: Introducción a la Interfaz de Alto Nivel

  34. GUI Alto Nivel: List • Mediante la clase List podemos crear listas de elementos seleccionables. • Tipos: • EXCLUSIVE - Sólo se puede seleccionar un elemento • IMPLICIT - Se selecciona el elemento que tiene el foco • MULTIPLE - Permite la selección múltiple

  35. GUI Alto Nivel: Alert • Permiten mostrar una pantalla durante un tiempo o hasta que se produzca un comando de tipo OK. Se utiliza para mostrar errores u otro tipo de mensajes al usuario. • Tipos • ALARM • CONFIRMATION • ERROR • INFO • WARNING

  36. GUI Alto Nivel: TextBox • La clase TextBox permite introducir y editar texto a pantalla completa. Es como un pequeño editor de textos. • Las limitaciones pueden ser alguna de los siguientes: • ANY - Sin limitación • EMAILADDR - Sólo una dirección de email • NUMERIC - Sólo se permiten números • PASSWORD - Los caracteres no serán visibles • PHONENUMBER - Sólo números de teléfono • URL - Sólo direcciones URL

  37. GUI Alto Nivel: Form • Un Form es un elemento de tipo contenedor, es decir, es capaz de contener una serie de elementos visuales con los que podemos construir interfaces más elaboradas.

  38. Javax.microedition.Midlet • Define la funcionalidad de las aplicaciones y el entorno en el que se ejecutan • Javax.microedition.lcdui • Contiene clases asociadas con la interfaz grafica y el manejo de eventos • Javax.microedition.rms • Contiene clases para realizar almacenamiento persistentes de los datos • Javax.microedition.io • Continene clases que permiten la conectividad a una red LIBRERIAS MIDP

  39. Interfaces: • Choice • CommandListener • ItemCommandListener • ItemStateListener javax.microedition.lcdui

  40. javax.microedition.lcdui • Spacer • StringItem • TextBox • TextField • Ticket • Alert • AlertType • Canvas • ChoiceGroup • Command • CustomItem • DateField • Display • Displayable • Font • Form • Gauge • Graphics • Image • ImageItem • Item • List • Screen

More Related