La presente obra está dirigida a los estudiantes del Ciclo Formativo Desarrollo de Aplicaciones Multiplataforma de Grado Superior, en concreto para el módulo Programación Multimedia y Dispositivos Móviles.
Los contenidos incluidos en este libro abarcan los conceptos básicos de desarrollo de aplicaciones multimedia y juegos para dispositivos móviles.
En una primera parte del libro se realiza una extensa revisión de las principales tecnologías para el desarrollo de aplicaciones para dispositivos móviles como Android, Windows Phone, iPhone, Symbian, BlackBerry, etc., mostrando aspectos como son los entornos de desarrollo, lenguajes de programación y emuladores que proporcionan cada una de estas tecnologías. A continuación, nos centraremos en el desarrollo de aplicaciones con tecnología Android.
Se trata el desarrollo de aplicaciones con Interfaces de Usuario Gráficas y con capacidades de acceso a bases de datos y comunicaciones, mostrando aspectos de manejo de conexiones HTTP y navegadores. Así mismo, se presenta la librería multimedia de Android, realizando en primer lugar una revisión de conceptos genéricos sobre contenidos multimedia como son formatos, fuentes de datos, codec, etc., para posteriormente estudiar las principales clases del API para desarrollar aplicaciones para reproducir y grabar audio y vídeo.
Además, se estudia cómo controlar y monitorizar comunicaciones por streaming de contenidos multimedia.
Se realiza un análisis de los motores de juegos para la plataforma Android. Se presentan los principales conceptos de animación y los componentes básicos de un juego.
Se estudian diferentes motores (de inteligencia artificial, de sonidos, de escenas, etc.) y se muestra cómo utilizar algunos de ellos. También se presenta la API de gráficos en 3D de Android con Open GL. Por último, se realiza un desarrollo de un juego en 2D y un ejemplo gráfico en 3D, estudiando el diseño, los modelos, escenarios y efectos visuales desde la tecnología Android.
Los capítulos incluyen actividades y ejemplos con el propósito de facilitar la asimilación de los conocimientos tratados. Así mismo, se incorporan test de conocimientos y ejercicios propuestos con la finalidad de comprobar que los objetivos de cada capítulo se han asimilado correctamente.
Además, reúne los recursos necesarios para incrementar la didáctica del libro, tales como un glosario con los términos informáticos necesarios, bibliografía y documentos para ampliación de los conocimientos.
INTRODUCCIÓN
CAPÍTULO 1. ANÁLISIS DE TECNOLOGÍAS PARA APLICACIONES EN DISPOSITIVOS MÓVILES
1.1 Dispositivos móviles: TIPOS, historia Y evolución
1.2 Características y limitaciones en el desarrollo de aplicaciones para dispositivos móviles
1.2.1 Limitaciones en la ejecución de aplicaciones para dispositivos móviles
1.2.2 Enfoques para el desarrollo de aplicaciones móviles
1.3 Tecnologías disponibles
1.3.1 Android
1.3.2 BlackBerry
1.3.3 Symbian
1.3.4 Palm Os (webOS)
1.3.5 Windows Phone
1.3.6 iOs
1.4 Desarrollo de aplicaciones móviles
1.4.1 Lenguajes de programación
1.4.2 Entornos integrados de trabajo y compilación
1.4.3 Emuladores
1.5 Arquitectura J2ME
1.5.1 Configuraciones y perfiles
1.5.2 Modelo de estados
1.5.3 Ciclo de vida de una aplicación
RESUMEN DEL CAPÍTULO
ejercicios propuesTOS
TEST DE CONOCIMIENTOS
CAPÍTULO 2. PROGRAMACIÓN DE APLICACIONES PARA DISPOSITIVOS MÓVILES
2.1 Desarrollo de código
2.1.1 Herramientas y fases de construcción
2.1.2 Compilación, preverificación, empaquetado y ejecución
2.2 interfaces de usuario
2.2.1 Creación de layouts mediante recursos XML
2.2.2 Creación de layouts mediante programación
2.3 bases de datos y almacenamiento
2.4 contexto gráfico
2.4.1 Eventos de teclado
2.4.2 Imágenes
2.5 Comunicaciones
2.5.1 Modelo de hilos
2.5.2 Manejo de conexiones HTP
2.5.3 Complementos de los navegadores
2.5.4 Envío y recepción de mensajería
2.6 CASO PRÁCTICO
RESUMEN DEL CAPÍTULO
ejercicios propuesTOS
TEST DE CONOCIMIENTOSCAPÍTULO 3. UTILIZACIÓN DE LIBRERÍAS MULTIMEDIA
3.1 Conceptos sobre aplicaciones multimedia
3.2 Arquitectura del API
3.4 Fuentes de datos multimedia
3.4.1 Clips de audio
3.4.2 MIDI
3.4.3 Clips de vídeo
3.4.4 Otros
3.5 PROCESAMIENTO Y REPRODUCCIÓN DE OBJETOS MULTIMEDIA
3.5.1 Reproducción de audio
3.5.2 Reproducción de vídeo
3.5.3 Grabación de audio y vídeo
3.6 CONTROL Y MONITORIZACIÓN DE LA TRANSMISIÓN POR RTP
3.7 CASO PRÁCTICO
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
CAPÍTULO 4. ANÁLISIS DE MOTORES DE JUEGOS
4.1 CONCEPTOS DE ANIMACIÓN
4.1.1 Arquitectura de juego
4.1.2 Motores de juegos
4.2 SPRITES
4.2.1 Mostrar imágenes
4.2.2 Sprite básico
4.3 MOTOR DE FÍSICAS
4.4 DETECTORES DE COLISIONES
4.4.1 Colisión gruesa
4.4.2 Colisión fina
4.4.3 Detección de colisión mediante proyecciones
4.4.4 El problema de los movimientos rápidos
4.4.5 Colisión con los límites de la pantalla en Android
4.5 MOTOR DE ESCENAS
4.6 MOTOR DE INTELIGENCIA ARTIFICIAL
4.7 MOTOR DE SONIDOS
4.8 API DE GRÁFICOS EN 3D
4.9 CASO PRÁCTICO
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOSCAPÍTULO 5. DESARROLLO DE JUEGOS 2D Y 3D
5.1 ENTORNO DE DESARROLLO PARA JUEGOS
5.2 MOTORES COMERCIALES Y OPEN SOURCE
5.3 INTEGRACIÓN DEL MOTOR DE JUEGO EN ENTORNOS DE DESARROLLO
5.3.1 Integración Eclipse y Libgdx
5.4 DESARROLLO DE UN JUEGO COMPLETO EN 2D
5.4.1 El modelo
5.4.2 Las vistas
5.4.3 Los controladores
5.4.4 Los lanzadores
5.4.5 El lanzador para PC
5.4.6 El lanzador para Android
5.5 CONCEPTOS AVANZADOS DE PROGRAMACIÓN 3D
5.5.1 Creando el proyecto
5.5.2 Visualizar elementos gráficos
5.5.3 Mapeo de texturas
5.6 UTILIZACIÓN DE SHADERS: TIPOS Y FUNCIONES
5.7 CASO PRÁCTICO
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
MATERIAL ADICIONAL
ÍNDICE ALFABÉTICO