1 / 47

JME

shadi
Download Presentation

JME

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. JME Java Micro Edition

    2. Índice Introducción: Midlet Introducción a la interfaz de Alto nivel Introducción a la interfaz de Bajo nivel RMS LWUIT Sugerencias

    3. JME: Introducción Midlet Introducción Ejemplo MIDlet Elementos

    4. Midlet: Introducción JME es Java con menos librerías JME abarca un gran tipo de dispositivos limitados no sólo teléfonos móviles Mencionar que hay mucho tipos de móviles y lo que se busca agrupar de alguna forma los dispositivos, eso son los perfilesMencionar que hay mucho tipos de móviles y lo que se busca agrupar de alguna forma los dispositivos, eso son los perfiles

    5. Midlet: Introducción Configuraciones: CDC (Connected Device Configuration) Dispositivos más potentes (TV con internet, sistemas Navegación). CVM CLDC(Connected Limited Device Configuration) Dispositivos de capacidad limitada (PDA, Móviles). Utilizan KVM Perfiles: MIDP (Mobile Information Device Profile) PDA Profile (Opcional) - Mencionar que las configuraciones es una agrupación de clases disponibles en un tipo de dispositivos Mencionar que los perfiles es una agrupación de clases que complementan una configuración y permiten la portabilidad de la portabilidad entre dispositivos Perfiles ? Configuración Foundation Profile (FP) CDC Personal Profile (PP) CDC Personal Basis Profile (PBP) CDC MIDP CLDC PDA Profile CLDC- Mencionar que las configuraciones es una agrupación de clases disponibles en un tipo de dispositivos Mencionar que los perfiles es una agrupación de clases que complementan una configuración y permiten la portabilidad de la portabilidad entre dispositivos Perfiles ? Configuración Foundation Profile (FP) CDC Personal Profile (PP) CDC Personal Basis Profile (PBP) CDC MIDP CLDC PDA Profile CLDC

    6. Midlet: Introducción - Mencionar que las configuraciones es una agrupación de clases disponibles en un tipo de dispositivos Mencionar que los perfiles es una agrupación de clases que complementan una configuración y permiten la portabilidad de la portabilidad entre dispositivos Perfiles ? Configuración Foundation Profile (FP) CDC Personal Profile (PP) CDC Personal Basis Profile (PBP) CDC MIDP CLDC PDA Profile CLDC- Mencionar que las configuraciones es una agrupación de clases disponibles en un tipo de dispositivos Mencionar que los perfiles es una agrupación de clases que complementan una configuración y permiten la portabilidad de la portabilidad entre dispositivos Perfiles ? Configuración Foundation Profile (FP) CDC Personal Profile (PP) CDC Personal Basis Profile (PBP) CDC MIDP CLDC PDA Profile CLDC

    7. DEMO

    8. Midlet Dos puntos de visión Clase superior jerarquía JME Aplicación en si ¿Cómo se ejecuta? No tiene Main Ni las configuraciones ni los perfiles poseen Main Se encarga de el AMS (Application Management System) MIDP no cubre: – Descarga y gestión de aplicaciones (MIDlets) en los dispositivos – Seguridad a bajo nivel – Seguridad a nivel de aplicación – Seguridad extremo-extremo MIDP no cubre: – Descarga y gestión de aplicaciones (MIDlets) en los dispositivos – Seguridad a bajo nivel – Seguridad a nivel de aplicación – Seguridad extremo-extremo

    9. Midlet: AMS ¿Que es AMS? Programa pre-instalado dependiente del dispositivo Dependiente de la implementación de 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 - Es el que comprueba el descriptor del midlet si es correcto o no y comienza la descarga - Llama a los métodos pertinentes para pintar en pantalla, controlar el teclado, los comandos - Si nos llaman corta la aplicación y luego vuelve a ejecutarla- Es el que comprueba el descriptor del midlet si es correcto o no y comienza la descarga - Llama a los métodos pertinentes para pintar en pantalla, controlar el teclado, los comandos - Si nos llaman corta la aplicación y luego vuelve a ejecutarla

    10. Midlet: Ciclo Vida El AMS llama a los siguientes métodos para controlar la vida de un Midlet starApp pauseApp destroyApp Genera el siguiente ciclo de vida - Es el que comprueba el descriptor del midlet si es correcto o no y comienza la descarga - Llama a los métodos pertinentes para pintar en pantalla, controlar el teclado, los comandos - Si nos llaman corta la aplicación y luego vuelve a ejecutarla- Es el que comprueba el descriptor del midlet si es correcto o no y comienza la descarga - Llama a los métodos pertinentes para pintar en pantalla, controlar el teclado, los comandos - Si nos llaman corta la aplicación y luego vuelve a ejecutarla

    11. Midlet: Código

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

    13. Midlet: API y JSR JME esta compuesto por varias APIs o JSRs (Java Specification Request) API Alto Nivel API Bajo Nivel RMS LWUIT Bluetooth MMAPI … JSR: son documentos formales que describen las especificaciones y tecnologías propuestas para que sean añadidas a la plataforma Java y es llevado por Java Community Process (JCP)JSR: son documentos formales que describen las especificaciones y tecnologías propuestas para que sean añadidas a la plataforma Java y es llevado por Java Community Process (JCP)

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

    15. Ventajas Facilidad de uso Rapidez en el desarrollo Portabilidad Desventajas Incapacidad de manejar funciones de bajo nivel Poca flexibilidad con componentes prefabricados GUI Alto Nivel: Introducción

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

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

    18. 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 GUI Alto Nivel: TextBox

    19. 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 no más vistosas. GUI Alto Nivel: Form - Item: superclase de los componentes que se pueden agregar a un Form -ChoiceGroup: similar al list - DateField: se utiliza para fechas - TextField: similar al TextBox pero menos pantalla - StringItem: String - Imageltem - Gauge - Spacer - CustomItem- Item: superclase de los componentes que se pueden agregar a un Form -ChoiceGroup: similar al list - DateField: se utiliza para fechas - TextField: similar al TextBox pero menos pantalla - StringItem: String - Imageltem - Gauge - Spacer - CustomItem

    20. JME: Introducción a la Interfaz de Bajo Nivel Introducción Canvas Elementos Importantes Ejemplos Juegos Canvas Sprite

    21. GUI Bajo Nivel: Introducción Trabaja a nivel de pixel Punto (0,0) ? Esquina superior izquierda Control de eventos Teclado Comandos Eventos pantalla táctiles Permite dibujar primitivas Graficas Escribir texto Dibujar imágenes

    22. Canvas: primitivas Graficas

    23. Canvas: Texto

    24. Canvas: Elementos Importantes Eventos Teclado Se controlan mediante las funciones keyPressed, keyReleased, keyRepeated Teclas KEY_NUM0, KEY_NUM1, KEY_NUM2,… KEY_NUM9, KEY_STAR y KEY_POUND Game Actions getGameAction o getKeyCode UP, DOWN, LEFT, RIGHT, FIRE, GAME_A, GAME_B, GAME_C y GAME_D. Clase base que para la escritura de aplicaciones que necesitan el manejo de eventos a bajo nivel y dibujo de gráficos. Clase base que para la escritura de aplicaciones que necesitan el manejo de eventos a bajo nivel y dibujo de gráficos.

    25. Canvas: Elementos Importantes Eventos pantalla táctiles Se controlan mediante las funciones pointerDragged, pointerPressed, pointerReleased Comprobar si hay pantalla tacil: hasPointerEvents.

    26. Canvas: Elementos Importantes Método Paint Método mediante el cual pintamos todos los elementos en pantalla Graphics: Objeto que nos proporciona las primitivas para pintar todos los elementos por pantalla: drawArc, drawChar, drawImage, drawLine, fillRect, translate… Se llama mediante el método repaint

    27. Juegos: Canvas Implementación de todos los métodos necesarios Animaciones: movimiento de las figuras por pantalla. Detección de Colisiones entre figuras del juego Acciones: Diferentes eventos que se desencadenan al haber una colisión.

    28. Juegos: Canvas DEMO

    29. Juegos: Sprite Es un elemento visual que almacena una imagen, que contiene un único dibujo o bien varios dibujos. Nos permite Detectar colisiones: Cuadrados y pixel Realizar animaciones indicando la secuencia de frames Indicar un punto de referencia de la imagen

    30. Juegos: Sprite DEMO

    31. JME: RMS Introducción RecordStore Record

    32. RMS Sencillo sistema de almacenamiento Almacenamiento permanente Compuesto por Record Stores Sincronización implementada Registro accesible desde cualquier MIDlet

    33. RMS: RecordStore Colección de registros La plataforma mantiene su integridad Borrar MIDlet ? borra RecordStore Manipulación de RecordStore: openRecordStore: abre/crea un RecordStore closeRecordStore: cierra un RecordStore deleteRecordStore: borra un RecordStore

    34. RMS: records Identificados por recordID:int 1er registros ? recordID =1 Manipulación de registros: addRecord: añade un registro deleteRecord: borra un registro getRecord: obtiene los datos de un registro setRecord: establece los datos de un registro

    35. LWUIT Introducción Ideas Básicas Style Themes Painters Fichero de recursos Animaciones Transiciones Layout Managers

    36. LWUIT: Introducción Librería grafica Dispositivos de gama alta Altamente portable Librería Open Source Basado en MIDP 2.0 y Canvas No solo es para Moviles Framework en NetBeans 7.0

    37. LWUIT: Ideas Basicas Trabajar con LWUIT Descargar librería https://lwuit.dev.java.net/ Agregar librería al proyecto

    38. LWUIT:Hola Mundo DEMO

    39. Atributos de los componentes Colores Normal Enfocado Fuente Transparencia Imagen Margen, Relleno Bordes Painter Guardado por defecto en archivo .res

    40. Colección de estilos (styles) Declarado en un fichero .res Creado usando: Resource Editor (viene junta con la librería) Ant task Se puede cambiar en tiempo de ejecución

    42. Componente tiene asociado un painter No es necesario redefinir paint() Define como pintar el fondo del elemento Personificar apariencia Painters Chain Relacionar varios painters Sensación de trabajar con layers

    43. Fichero binario de LWUIT Puede contener: Temas Fuentes Imágenes Animaciones Localización Creación Ant Resource Editor

    44. Interfaz simple Animate(), si devuelve ‘True’ llama a paint() Activación No basta con agregar la animación Tenemos que notificar que es una animación Desactivación

    45. Transiciones predefinidas Extendibles Aplicable a: Forms Dialogos Menu Componentes

    46. Agrupar elementos Divididos en regiones Mediante Containers podemos anidarlos LWUIT: Layout Managers

    47. LWUIT: Demo Alto Nivel DEMO

More Related