E N D
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