Juan José López Espinosa Servicio de Desarrollo, ATICA Universidad de Murcia 02/06/2007 1Arquitecturas multimedia - Programación Móvil.

Slides:



Advertisements
Presentaciones similares
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN
Advertisements

Programación de Dispositivos Móviles Estructura de un programa en J2ME Rogelio Ferreira Escutia.
Características Generales y Entornos de Desarrollo
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME Ing. Ronald Criollo.
INTRODUCCIÓN A JAVA.
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors MOVING JAVA INTO MOBILE PHONES Josep Pinyol.
Yinette Domínguez Olivieri COSC A. A través de esta presentación se pretende informar sobre dos servicios que existen llamados Dropbox y Skydrive.
RMI Remote Method Invocation
Jesús Arellano. La plataforma Java Micro Edition, o anteriormente Java 2 Micro Edition(J2ME), es una especificación de un subconjunto de la plataforma.
QUE ES INTERNET Podríamos decir que Internet está formado por una gran cantidad de ordenadores que pueden intercambiar información entre ellos. Es una.
EL CONTEXTO Revolución en las comunicaciones personales. Crecimiento exponencial de la Mensajería Instantánea (IM). Un mercado cada vez más maduro, con.
Las variables en PHP Programación en Internet II.
Acceso a datos con ADO.NET
Desarrollo de aplicaciones web en entorno servidor
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Introducción a J2ME Bruno Rodríguez Rodríguez.
Tecnología java para dispositivos con recursos limitados
DESARROLLO DE APLICACIONES CON TECNOLOGÍAS WEB ¿Cómo instalar un wiki?

Mensajería cliente-servidor en Flex y Java
Programación de Dispositivos Móviles “Conceptos de J2ME” Rogelio Ferreira Escutia.
“Programando con J2ME” Rogelio Ferreira Escutia. 2 MIDlet mínimo.
Son sitios web como un escritorio personalizado donde encontrar toda la información de nuestro interés organizada en una misma página. Son páginas donde.
María José Freire Mayra Coello Juan Francisco Pérez
Tecnología WAP Unidad IV Taller de Tecnología Internet.
Son elementos con algún tipo de funcionalidad con capacidad de procesamiento con conexión a algún tipo de red cumpliendo indefinidas ordenes que pueden.
ANDREA DAZA. Es un aparato de pequeño tamaño, con algunas capacidades de procesamiento, con conexión permanente a una red.
Elementos y tipos de sistemas operativos
J2ME Java 2 Platform, Micro Edition (J2ME): Esta versión de Java está enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades.
EL COMPUTADOR. INDICE  Qué es Qué es  El software El software  El hardware El hardware  periféricos de entrada: teclado, mouse, micrófono, escáner,
COMPUTADORAS DE TERCERA GENERACIÓN Integrantes: Barrios, Yessica Betancourt, Aldrid Gobea, Adrián Rivas, Ricardo Garcia, Edgardo Ministerio de educación.
Desarrollo Web en Entorno Servidor
Área de Tecnología Sistemas de Información desarrollados con MÉTRICA Introducción a la tecnología móvil basada en PDA.
Telefonía IP – una realidad Sistemas Asterisk y VozIP Virtuality 2010.
INFORMATICA I PROYECTO SIRLA Jorge Walter Sosa Esteban Parra González Juan Camilo Morales.
ASIGNATURA. url: Esta.
Accesibilidad web. ¿Qué es la accesibilidad web? Hablar de Accesibilidad Web es hablar de un acceso universal a la Web, independientemente del tipo de.
ESCRITORIO DE SOPORTE. DIRECCIÓN GENERAL DE TECNOLOGÍAS DE LA INFORMACIÓN ESCRITORIO DE SOPORTE.
Innovación  Jornadas TIC  Movilidad Cámara Oficial de Comercio e Industria de Madrid Soluciones de movilidad y telecomunicaciones para pymes 19 de octubre.
TEMA 2 PHP. Introducción e Instalación índice 1. Introducción 6. Primera Prueba 2. Requisitos 3. ¿Qué es MySQL? 4. ¿Qué es Apache? 5. WAMPServer Raquel.
SISTEMA DE GESTION DE CONTENIDOS Isabella rueda Angarita.
Maquina Virtual Presentado por: Andrés Figueroa Carlos Pava Harry González Julio González.
AGENDA MOVIL. Responsables Sebastián Vélez: Líder del grupo, analista, tester, diseñador, programador, gerente del proyecto. Diego Alejandro Villegas:
 Android es un sistema operativo para dispositivos móviles como teléfonos inteligentes y tabletas.
Redes Informáticas Luis Orozco. Redes Informáticas Internet es la red más extensa que existe. De hecho, el término Internet significa “red de redes”.
Introducción En la ingeniería de software se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor.
10-Febrero Software de aplicación. Héctor Alejandro Bautista Alatriste.
TIPOS DE RED COMPONENTES DE UNA RED TOPOLOGIA DE UNA RED SOTO HERNANDEZ DANIELA DEL ROCIO COMPUTACION 1 Jorge Luis Flores Nevarez.
Sistema de gestión de contenidos (Content Management System) Sistema de gestión de contenidos (Content Management System)
ZONA AZUL Unión Virtuality Estudios S.L.. Página  2 Índice de contenidos Arquitectura de la solución Aplicación terminales – Generación de denuncias.
Unidades funcionales de un ordenador 1. ¿Qué es un ordenador? Máquina que recibe unos datos, los procesa y ofrece los resultados de ese procesamiento.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
ANDROID:.  Para qué esta pensado android.  Base de sistema operativo.  Programación de aplicaciones con java y dalvik.
This y static. This Normalmente, dentro del cuerpo de un método de un objeto se puede referir directamente a las variables miembros del objeto. Sin embargo,
Accesibilidad Rafael Pedraza Jiménez Àrea de Coneixement de Biblioteconomia i Documentació Universitat Pompeu Fabra
Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente.
Clase 1.  Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, del conjunto de instrucciones.
Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos.
DINÁMICAS, ESTÁTICAS Y MIXTAS
… Dedicated Micros presenta un nuevo DVR híbrido? ¿Sabía usted que...
JOSÉ GEOVANY CON PÉREZ LICEO DEL SUR. UNIDAD I Entorno de desarrollo. UNIDAD II Introducción al lenguaje de programación. UNIDAD III Trabajando con formularios.
Tema: sistema operativo de Android Integrantes: Campos Ochoa Edward Fernández Bermudez Soledad Montenegro Santos Nathaly Guerrero Aguado Junior.
-HARDWARE: parte física y tangible; componentes eléctricos, electrónicos, electromagnéticos; cables, cajas, periféricos… -SOFTWARE: parte lógica e intangible;
Presentada por: Johan Manuel Cabrera Chavarro Universidad Surcolombiana Tecnología en Desarrollo de Software.
T IPOS DE NAVEGADORES Michael Vasquez. ¿Q UÉ ES UN NAVEGADOR ? Aplicación que permite visualizar la información que contienen las páginas Web de Internet.
Avances Tecnológicos. La Web 4.0 propone un nuevo modelo de interacción con el usuario más completo y personalizado, no limitándose simplemente a mostrar.
Fundamentos al Computador Software Software de Sistema Software de aplicación Software de programación Etapas del proceso de desarrollo de Software LOS.
Comunicación y tics Sistema de gestión de contenidos (Content Management System)
API J2ME Fernando Jesús Sánchez Herrera Técnico de Apoyo de Investigación Universidad Extremadura.
Transcripción de la presentación:

Juan José López Espinosa Servicio de Desarrollo, ATICA Universidad de Murcia 02/06/2007 1Arquitecturas multimedia - Programación Móvil

Indice Introducción Ventajas de la programación móvil Tipos de programación El lenguaje J2ME Arquitectura Midp Clases Mejoras en el codigo Caso práctico Caso real Dudas 2Arquitecturas multimedia - Programación Móvil

Ventajas de la programación móvil I Movilidad Estará conectado a internet en cualquier lugar e instante, pagina web, correo, base de datos… Economía Tener un dispositivo móvil (teléfono móvil, smart phone, blackberry…) para acceder a los programas o internet, es más económico que un pc, portátil, tabletPc… 3Arquitecturas multimedia - Programación Móvil

Comodidad Tanto a la hora de transportarlo por su reducido tamaño… Como por el tiempo de puesta en funcionamiento Sencillo, intuitivo Es más fácil de utilizar que un pc. Cualquier persona es capaz de utilizar las aplicaciones sin un tutorial previo. Ventajas de la programación móvil I 4Arquitecturas multimedia - Programación Móvil

Tipos de programación móvil I Programación web Implementaríamos una página web adaptada a las limitaciones de los dispositivos: Tamaño pantalla Velocidad de descarga Procesador Navegador del cliente Inconveniente: gran variedad. 5Arquitecturas multimedia - Programación Móvil

Tipos de programación móvil II Programación flash Implementaríamos una aplicación flash: Tamaño pantalla Velocidad de descarga Procesador Inconvenientes Carga inicial lenta Dispositivos que soportan flash 6Arquitecturas multimedia - Programación Móvil

Tipos de programación móvil III Programación Java Implementaríamos una aplicación java Tamaño pantalla Velocidad de descarga Procesador Navegador del cliente Inconveniente: Mantenimiento, reinstalación en el cliente. 7Arquitecturas multimedia - Programación Móvil

Arquitectura de los dispositivos I La KVM (Kilobyte Virtual Machine) Se trata de una máquina virtual java altamente portable y compacta pensada y diseñada para funcionar en dispositivos con recursos limitados y con conexión a red. La CVM (Compact Virtual Machine). Está orientada a dispositivos electrónicos con procesadores de 32 bits de gama alta y entorno a 2Mb o más de memoria RAM. 8Arquitecturas multimedia - Programación Móvil

Arquitectura de los dispositivos II Las aplicaciones se desarrollan sobre un determinado perfil que a su vez está implementado sobre una determinada configuración. Un perfil define un conjunto de APIs y características comunes para una franja vertical de dispositivos. Las clases de un perfil permiten el acceso a funcionalidades específicas de los dispositivos como la interfaz gráfica, funcionalidades de red, almacenamiento persistente, etc. Las aplicaciones desarrolladas sobre un determinado perfil van a ser portables a cualquier dispositivo que soporte ese perfil. Los perfiles identifican un grupo de dispositivos por la funcionalidad que proporcionan (electrodomésticos, teléfonos móviles, etc.) y el tipo de aplicaciones que se ejecutarán en ellos. Esto hace que a la hora de construir una aplicación se cuente tanto con las APIs del perfil como de la configuración 9Arquitecturas multimedia - Programación Móvil

Arquitectura de los dispositivos III Foundation Profile. Dispositivos que carecen de interfaz gráfica. Personal Profile. Proporciona un entorno con un completo soporte gráfico AWT. RMI Profile. El perfil RMI soporta un subconjunto de las APIs J2SE v1.3 RMI. PDA Profile. Pretende abarcar PDAs de gama baja, tipo Palm, con una pantalla y algún tipo de puntero. MID Profile. Perfil más usado actualmente para el desarrollo de aplicaciones. 10Arquitecturas multimedia - Programación Móvil

El ciclo de vida de un MIDP esta muy bien definido ya que ayuda al MIDlet a coexistir con otros programas en el MIDP. Fases: Retrieval Installation Launching Version Management Removal 11 Arquitectura de los dispositivos III Arquitecturas multimedia - Programación Móvil

El perfil MIDP Este perfil esta diseñado para funcionar especialmente con CLDC. Las clases que contiene son: javax.microedition.midlet: se ocupa del ciclo de vida de la aplicación javax.microedition.lcdui: interfaz de usuario javax.microedition.rms: sistema de mantenimiento de registros (Record Management System) usado para guardar información javax.microedition.io: clases para usar redes java.lang: clases de lenguaje java.util: clases de utilidades 12Arquitecturas multimedia - Programación Móvil

Lenguaje J2ME: MIDlets Un MIDlet es más parecido a un applet que a una aplicación Java estándar. Un MIDlet tiene que ejecutarse en un entorno muy concreto (un dispositivo con soporte J2ME) Un MIDlet tiene que heredar de la clase MIDlet Tres métodos especialmente importantes: startApp() – Estado = ejecución. pauseApp() – Estado = pausa. destroyApp() - Estado = finalizado. 13Arquitecturas multimedia - Programación Móvil

Lenguaje J2ME: Elementos Un MIDlets nos permite dos tipos de entorno: Por un lado podremos trabajar con ‘Screens’ sobre las que podremos colocar elementos de la interfaz de usuario, como textos, menus, etc. Por otro, podremos basar nuestras aplicaciones en ‘Canvas’ sobre las que podemos trabajar a nivel gráfico, es decir, a más bajo nivel. Tanto Screen como Canvas son objetos que heredan de la clase ‘Displayable’. Arquitecturas multimedia - Programación Móvil14

Lenguaje J2ME: Screen Un Form es un elemento de tipo contenedor, es capaz de contener una serie de elementos visuales con los que podemos construir interfaces más elaboradas Arquitecturas multimedia - Programación Móvil15 int append(Item elemento) void delete(int índice) void insert(int índice, Item elemento) void set(int índice, Item elemento) size()

16 Lenguaje J2ME: MIDlets -> Elementos FORM Arquitecturas multimedia - Programación Móvil

Lenguaje J2ME: MIDlets -> CANVAS Esta clase es capaz de mostrar información gráfica a nivel de píxel, a bajo nivel. Arquitecturas multimedia - Programación Móvil17 void setColor(int rojo, int verde, int azul); void drawLine (int x1, int y1, int x2, int y2); void drawRect (int x, int y, int ancho, int alto); void drawRoundRect () igual que drawRect Tres métodos importantes en canvas: kieyPressed() KeyReleased() KeyRepeated()

Canvas: Scrolling, primera visión Un fondo estático no es demasiado atractivo, además, un mapa de 7X7 no da demasiado juego (que es lo que cabría en la pantalla suponiendo celdas de ½ cm), necesitamos un mapa más grande. Para el caso de un juego será de 7X20. Se hace evidente que un mapa de 7x20 tiles no cabe en la pantalla. SOLUCION: según se mueva nuestro personaje principal (hombre, avión, coche..) por el escenario, el mapa avance en la misma dirección. Este desplazamiento del escenario se llama scrolling. int map[]={1,1,1,1,1,1,1, 1,1,1,1,1,1,1, 1,2,1,1,1,1,1, 1,1,1,4,1,1,1, 1,1,1,1,1,1,1, 1,1,3,1,2,1,1, 1,1,1,1,1,1,1, 1,4,1,1,1,1,1, 1,1,1,1,3,1,1, 1,1,1,1,1,1,1, 1,4,1,1,1,1,1, 1,1,1,3,1,1,1, 1,1,1,1,1,1,1, 1,2,1,1,1,1,1, 1,1,1,4,1,1,1, 1,1,1,1,1,1,1, 1,1,3,1,2,1,1, 1,1,1,1,1,1,1, 1,4,1,1,1,1,1}; 18Arquitecturas multimedia - Programación Móvil

Mejoras en el código II Eliminar subexpresiones comunes El siguiente código: b = Math.abs(a) * c; d = e / (Math.abs(a) + b); Puede ser optimizado de la siguiente forma: int tmp = Math.abs(a); b = tmp * c; d = e / (tmp + b); 19Arquitecturas multimedia - Programación Móvil

Mejoras en el código III Aprovechar las variables locales El siguiente código: for (int i=0; i<1000; i++) a = obj.b * i; Puede ser optimizado de la siguiente forma: int localb = obj.b; for (int i=0; i<1000; i++) a = localb * i; 20Arquitecturas multimedia - Programación Móvil

Mejoras en el código IV Expandir los bucles El siguiente código: for (int i=0; i<1000; i++) a[i] = 25; Puede ser optimizado de la siguiente forma: for (int i=0; i<100; i++){ a[i++] = 25; a[i++] = 25; a[i++] = 25; a[i++] = 25; a[i++] = 25; a[i++] = 25; a[i++] = 25; a[i++] = 25; a[i++] = 25; a[i++] = 25; } 21Arquitecturas multimedia - Programación Móvil

Estructura, ejemplo Controlador BBDD BBDD Cliente Móvil Programación de la BBDD en MySQL Programación del controlador de BBDD en PHP (genera páginas web que serán accedidas por el terminal móvil) Programación del cliente móvil en J2ME. “Llama” a las páginas php 22Arquitecturas multimedia - Programación Móvil

Caso practico 23Arquitecturas multimedia - Programación Móvil

Caso real Secretaría virtual móvil Servicios ofrecidos al usuario Reserva de alas Reserva Instalaciones deportivas Consulta estado CI Consulta de notas Consulta de expediente 24Arquitecturas multimedia - Programación Móvil

Juan José López Espinosa Servicio de Desarrollo, ATICA 25Arquitecturas multimedia - Programación Móvil