SlideShare ist ein Scribd-Unternehmen logo
1 von 21
PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS
MÓVILES
INTRODUCCIÓN
El módulo Programación Multimedia y Dispositivos Móviles se desarrollará a lo largo de este curso con una duración
de 4 horas semanales.
En primer lugar se realizará una revisión de las principales tecnologías para el desarrollo de aplicaciones para
dispositivos móviles como Android, Windows Phone, iPhone, Symbian, BlackBerry, etc., para centrarnos después en el
desarrollo de aplicaciones con tecnología Android.
Se tratará 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í como las principales
clases del API para desarrollar aplicaciones para reproducir y grabar audio y vídeo.
Se realizará un análisis de los motores de juegos para la plataforma Android, los principales conceptos de animación y
los componentes básicos de un juego.También se estudiará la API de gráficos en 3D de Android con Open GL.
CONTENIDOS
El módulo Programación Multimedia y Dispositivos Móviles está distribuido en 7 unidades de trabajo, que se detallan
a continuación:
 Características específicas y entornos de desarrollo para la programación en dispositivos móviles
 Introducción a la programación en dispositivos móviles

 Comunicaciones: mensajes de texto, multimedia, HTTP, HTTPS
 Librerías multimedia integradas
 Motores de Juegos
 Herramientas para desarrollo de videojuegos 2D y 3D

 Conceptos avanzados de programación 3D
BIBLIOGRAFÍA

 “PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES. CFGS.”
Paredes Velasco, Maximiliano / Santacruz Valencia, Liliana P. / Domínguez Mateos, Francisco

Editorial RA-MA
ISBN: 978-84-9964-170-6

 Otros recursos que se irán indicando a los alumnos durante las clases.
RECURSOS
Para el desarrollo y aprendizaje del módulo Programación Multimedia y Dispositivos Móviles vamos a necesitar un
compilador de Java así como el conjunto de librerías y herramientas necesarias para el desarrollo de aplicaciones
para Android, así como un emulador Android para probar nuestras aplicaciones.
En resumen, necesitaremos:
 Eclipse con el plugin ADT (Android Developer Tools)
 Android SDK herramientas
 Android Platform-tools
 La última plataforma Android
 La imagen más reciente del sistema Android para el emulador

Con una sola descarga, el paquete ADT incluye todo lo necesario para comenzar a desarrollar aplicaciones.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
Introducción
La revolución de los dispositivos para comunicaciones móviles tiene tan solo 20 años. Durante este tiempo la
tecnología ha evolucionado desde la voz a la información inalámbrica y el uso de dispositivos móviles se ha
convertido en algo cotidiano. Gracias a ello, en la actualidad tenemos la posibilidad de comunicarnos con cualquier
persona, en cualquier momento y desde casi cualquier lugar.
Desde los enormes terminales móviles a los teléfonos inteligentes, los teléfonos han recorrido un largo camino, en
relativamente no demasiado tiempo.
El desarrollo de dispositivos trajo consigo un problema, la integración entre plataformas. Por lo tanto fue necesaria la
definición de estándares y protocolos que permitieran una conectividad sin límites. Este fue el punto de partida para el
desarrollo de importantes estándares como WAP (Wireless Access Protocol), UMTS (Universal Mobile Telecommunications
System) o BlueTooth.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
Contenidos de la unidad

1. Limitaciones en la ejecución de aplicaciones para dispositivos móviles
2. Tecnologías disponibles
3. Entornos integrados de trabajo y compilación
4. Emuladores
5. Arquitectura J2ME
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
1. Limitaciones en la ejecución de aplicaciones para dispositivos móviles
 Las limitaciones están relacionadas, principalmente, con las características hardware y de conexión, asociadas a

cada dispositivo móvil.

 Las aplicaciones deben diseñarse evitando la sobrecarga de elementos multimedia.
 El tamaño de las pantallas y la iluminación también son factores determinantes en el diseño de aplicaciones. No

hay que olvidar que la mayoría de los datos de entrada que proporciona el usuario son introducidos con una sola
mano y en muchas ocasiones en movimiento.

 La distribución de los elementos en la interfaz marca la diferencia.

 Durante el proceso de envío y/o recepción de datos, debemos mantener informado al usuario sobre el progreso

de esta operación y el tiempo estimado para la finalización de la misma. El tiempo de espera entre la petición de
los datos y el momento en el que empieza a llegar la respuesta es lo que se conoce como latencia.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
1. Limitaciones en la ejecución de aplicaciones para dispositivos móviles

 La función de teléfono (es decir, realizar y/o recibir llamadas), tiene la prioridad más alta. Por lo tanto, en el

momento en el que se reciba una llamada, la aplicación debe proporcionar la forma de mantener el estado en el
que ha sido interrumpida.
 No podemos dar por sentado que tendremos el acceso a Internet garantizado y que podremos obtener los datos

necesarios para la ejecución de la aplicación.
 Aunque el uso de emuladores es útil para simular el comportamiento de la aplicación, hay que tener presente que

se ejecutan en equipos cuya capacidad de procesamiento es superior a la del dispositivo
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
2.Tecnologías disponibles

 Android

 Blackberry
 Symbian
 Palm OS (WEBOS)
 Windows Phone

 IOS
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
2.Tecnologías disponibles. Android.
 Desarrollado por Open Handset Alliance (OHA), una agrupación de 78 compañías para desarrollar estándares

abiertos para dispositivos móviles y que está liderada por Google.

 Inicialmente Android fue desarrollado por la compañía Android Inc., que fue comprada en el año 2005 por

Google.

 Google libera la mayoría del código Android bajo una licencia Apache (licencia libre y de código abierto).
 Desde su creación ha ido pasando por diferentes versiones, desde la versión primera (1.0) hasta la actual (4.3,

denominada también Jelly Bean).

 Android se ha convertido de forma rápida en uno de los SO de móviles con mayor presencia. Actualmente hay

más de 200 millones de dispositivos móviles Android activados y cada día se activan más de 550.000 nuevos
dispositivos en 137 países y regiones.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
2.Tecnologías disponibles. Android.

 Ventajas que han hecho posible su gran éxito:


Ser código abierto con licencia Apache



Dar libertad al usuario del dispositivo para instalar el software que crea oportuno sin imponer que sea software propietario



Los desarrolladores tienen libertad para desarrollar cualquier software y ofertarlo a los usuarios.



No está limitado a determinados proveedores, operadoras o fabricantes, etc.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
2.Tecnologías disponibles. Android.
La arquitectura del sistema operativo Android está organizada de la siguiente forma:
 Aplicaciones: proporciona un conjunto de aplicaciones de usuario como cliente de correo, calendario, mapas,

navegador, agenda de contactos, etc.

 Framework de Aplicaciones: conjunto de aplicaciones en forma de servicios disponibles al desarrollador que

le facilitan aspectos como acceso al hardware del dispositivo.

 Librerías:

conjunto de librerías que usan otros módulos del sistema operativo y están accesibles a los
desarrolladores de aplicaciones a través del Framework de Aplicaciones.

 Entorno de Ejecución: está formado por las librerías del núcleo del sistema operativo y por la máquina virtual.

Es el motor que ejecuta los programas.

 Linux Kernel: Android se basa en la versión 2.6 de Linux para implementar servicios bases de sistema como

seguridad, gestión de memoria, gestión de procesos, pila de red y varios drivers, etc.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
2.Tecnologías disponibles. Otras tecnologías.
 Blackberry
BlackBerry está desarrollado por la compañía RIM (Research In Motion). Los móviles BlackBerry destacan principalmente por su
capacidad de enviar y recibir correo electrónico por Internet a través de los operadores que ofrecen este servicio. Actualmente, del
mercado mundial, BlackBerry asume un 2,9% de los móviles vendidos, y el 11% de los smartphone, si bien su mayor cuota de mercado
está en EE.UU.

 Symbian
Es el resultado de adaptar Epoc (utilizado por Psion en sus agendas electrónicas durante los 80) a dispositivos móviles y tiene diferentes
variantes según el dispositivo en el que se utilice. De todos los fabricantes de móviles es Nokia el que más ampliamente ha utilizado este
sistema operativo. Sony Ericcson también utiliza Symbian en algunos de sus dispositivos.

 Palm OS (WEBOS)
Es el sistema operativo de los dispositivos móviles desarrollados por la empresa Palm Inc. Esta empresa tuvo un gran auge con sus
agendas electrónicas o PDA. La compañía Palm Inc, fue adquirida en 2010 por HP y, actualmente, HP utiliza webOS en sus dispositivos
móviles y tablets. En diciembre de 2011 la compañía Hewlet-Packard liberó el código de webOS y en la actualidad es un sistema de
código abierto.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
2.Tecnologías disponibles. Otras tecnologías.

 Windows Phone
Fue lanzado a finales del año 2010 tras dos años de desarrollo. Entre las novedades se encuentra la denominada interfaz de
usuario “Metro” basada en la utilización de mosaicos dinámicos que muestran información útil al usuario. Además se introduce
el concepto de HUB, en donde se centralizan las acciones y las aplicaciones se agrupan por el tipo de actividad que
representan.

 IOS
A mediados de 2007 la tecnología Apple nos ofreció iOS desarrollado originalmente para el IPhone y con él, una nueva
definición del teléfono móvil. Más tarde fue introducido en el iPod Touch y actualmente en el IPad. A finales de 2011 se lanzó la
versión iOS 5, con una interfaz mejorada y nuevas funcionalidades.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
3. Entornos integrados de trabajo y compilación. Entorno para Android.

Vamos a centrarnos exclusivamente en el entorno de desarrollo para Android.
El desarrollo de aplicaciones Android se realiza con un grupo de herramientas que son suministradas en el SDK. La
utilización de este grupo de herramientas puede ser de dos formas:
 Utilizando un Entorno de Desarrollo Integrado (IDE) en combinación con un plugin llamado ADT (Android

Development Tools, Herramientas de Desarrollo para Android)
 Desde la línea de comandos.

Se puede utilizar cualquier IDE, si bien lo más común es usar Eclipse. Si se decide prescindir de un IDE se necesita
únicamente un editor de texto para escribir el código fuente e invocar las herramientas de compilación, depuración,
etc., desde la línea de comandos o mediante scripts.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
3. Entornos integrados de trabajo y compilación. Entorno para Android.

Los pasos básicos para desarrollar aplicaciones Android son:
 Instalación: en esta etapa se instala el entorno de desarrollo completo incluyendo el IDE y el SDK de Android, y

se crean AVD (Android Virtual Device, Dispositivos Virtuales Android).
 Desarrollo: en esta etapa se crea y desarrolla el proyecto Android, creando el código fuente de la aplicación
 Depuración y pruebas: en esta etapa se depura la aplicación usando un depurador JDWP y las herramientas

debug del SDK Android. Eclipse proporciona su propio depurador. Por último, se comprueba el correcto
funcionamiento de la aplicación usando varias herramientas del SDK como emuladores.
 Publicación: en esta última etapa se configura y se construye la aplicación para generarse una versión release

(una versión de entrega) para distribuir entre los usuarios.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
3. Entornos integrados de trabajo y compilación. Entorno para Android.
Aunque se puede utilizar cualquier IDE para desarrollar con el SDK Android, el más extendido es Eclipse. Veamos los
pasos que hay que seguir para instalar y configurar Eclipse para desarrollar aplicaciones Android:
1. Instalar Eclipse

2. Instalar el SDK Android
3. Instalar el Plugin ADT para Eclipse
4. Configurar el plugin ADT
5. Añadir Componentes

También es posible descargar el paquete ADT que incluye todo lo necesario para comenzar a desarrollar
aplicaciones.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
4. Emuladores
Los entornos de desarrollo utilizan emuladores para la simulación de las aplicaciones que desarrollan sin necesidad
de utilizar un dispositivo móvil real. Estos emuladores suelen ir integrados en los entornos de desarrollo, si bien se
pueden instalar y utilizar en algunos casos independientemente.

Emuladores para android
El SDK Android incluye un emulador de dispositivos móviles virtuales. El emulador puede invocar a otras
aplicaciones, acceder a red, reproducir audio y vídeo, almacenar y recuperar datos, etc., usando servicios de la
plataforma Android. Además, también proporciona servicios de depuración y permite realizar prototipos de
aplicaciones, desarrollar y testear aplicaciones Android sin necesidad de un dispositivo físico. El emulador proporciona
una ventana en la que se visualiza en ejecución la aplicación que se está desarrollando junto con otras aplicaciones
Android. El emulador utiliza configuraciones AVD (Android Virtual Device, Dispositivo Virtual para Android). Un AVD
permite definir ciertas características hardware del teléfono a emular. Se pueden crear varias configuraciones para
diferentes plataformas Android mediante los AVD.
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
4. Emuladores
Android Virtual Device (AVD)
Un AVD está formado por:
 Perfil hardware: define las características hardware de dispositivos virtuales. Por ejemplo, se puede definir si el

dispositivo tiene cámara, si usa teclado físico QWERTY, cuánta memoria tiene, etc.

 Mapping del sistema: se puede definir para qué versión de la plataforma Android se ejecutará el emulador.
 Otras opciones: especifica otras características del emulador, como la dimensión de la pantalla, la apariencia, si se

quiere emular una tarjeta de almacenamiento SD, etc.

 Área de almacenamiento: es necesario un espacio de almacenamiento de la máquina de desarrollo para almacenar

los datos del usuario del emulador (como aplicaciones que instala el usuario en el emulador) y la tarjeta SD emulada.

Lo más común es integrar y utilizar el emulador desde el IDE que se esté utilizando para desarrollar aplicaciones Android.
Eclipse proporciona con el menú window > AVD manager un gestor de dispositivos virtuales. Este gestor muestra una lista
de dispositivos virtuales que están instalados en el entorno de desarrollo y diferentes opciones para gestionarlos (añadir
nuevos, editarlo, borrarlo, etc.)
UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA
LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES
5.Arquitectura J2ME

J2ME o Java 2 Micro Edition es la versión Java para dispositivos móviles y sistemas de pequeño tamaño.
J2ME pertenece a la versión 2 de Java que está compuesta por tres ediciones distintas:
 Edición Estándar (J2SE): este es el entorno básico de Java, está compuesto por las clases básicas de Java, que nos

permiten desarrollar y ejecutar aplicaciones cliente, servidor y applets.
 Edición Empresarial (J2EE): es una ampliación de la edición anterior y está pensada para el desarrollo de

aplicaciones servidor.
 Edición Micro (J2ME): es una versión reducida de Java que permite desarrollar aplicaciones para sistemas móviles,

empotrados y electrónicos de características especiales.

Weitere ähnliche Inhalte

Was ist angesagt?

Tema 1: Introducción a la programación funcional.
Tema 1: Introducción a la programación funcional.Tema 1: Introducción a la programación funcional.
Tema 1: Introducción a la programación funcional.José A. Alonso
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaKaren Nuñez
 
Presentacion eclipse - grupo 6
Presentacion   eclipse - grupo 6Presentacion   eclipse - grupo 6
Presentacion eclipse - grupo 6Maga Lasic
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacionjosebunbury
 
Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa... grachika
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCCCRiis
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónd3m3nt3
 
Sistemas Expertos Probabilisticos
Sistemas Expertos ProbabilisticosSistemas Expertos Probabilisticos
Sistemas Expertos Probabilisticosexpertosjayrlen
 
Sistemas operativos libres y propietarios
Sistemas operativos libres y propietariosSistemas operativos libres y propietarios
Sistemas operativos libres y propietariosSantiagoCastilloArre
 
Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )Fernand Bernowly
 
IEEE 829 2008:Software and System Test Documentation
IEEE 829 2008:Software and System Test DocumentationIEEE 829 2008:Software and System Test Documentation
IEEE 829 2008:Software and System Test DocumentationJesús Navarro
 

Was ist angesagt? (20)

Tema 1: Introducción a la programación funcional.
Tema 1: Introducción a la programación funcional.Tema 1: Introducción a la programación funcional.
Tema 1: Introducción a la programación funcional.
 
Visual Basic. Net
Visual Basic. NetVisual Basic. Net
Visual Basic. Net
 
CURSORES EN SQL SERVER
CURSORES EN SQL SERVERCURSORES EN SQL SERVER
CURSORES EN SQL SERVER
 
Linea de tiempo HCI
Linea de tiempo HCILinea de tiempo HCI
Linea de tiempo HCI
 
Flutter
FlutterFlutter
Flutter
 
Java Micro Edition "J2ME"
Java Micro Edition "J2ME"Java Micro Edition "J2ME"
Java Micro Edition "J2ME"
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historia
 
Proyectos informaticos
Proyectos informaticosProyectos informaticos
Proyectos informaticos
 
Presentacion eclipse - grupo 6
Presentacion   eclipse - grupo 6Presentacion   eclipse - grupo 6
Presentacion eclipse - grupo 6
 
Requerimientos de instalacion
Requerimientos de instalacionRequerimientos de instalacion
Requerimientos de instalacion
 
Fases de desarrollo de un programa...
Fases de desarrollo de un programa... Fases de desarrollo de un programa...
Fases de desarrollo de un programa...
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, java
 
Clasificación de los lenguajes de programación
Clasificación de los lenguajes de programaciónClasificación de los lenguajes de programación
Clasificación de los lenguajes de programación
 
Sistemas Expertos Probabilisticos
Sistemas Expertos ProbabilisticosSistemas Expertos Probabilisticos
Sistemas Expertos Probabilisticos
 
Android media
Android mediaAndroid media
Android media
 
Sistemas operativos libres y propietarios
Sistemas operativos libres y propietariosSistemas operativos libres y propietarios
Sistemas operativos libres y propietarios
 
Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )Metodologías para desarrollar(moviles )
Metodologías para desarrollar(moviles )
 
IEEE 829 2008:Software and System Test Documentation
IEEE 829 2008:Software and System Test DocumentationIEEE 829 2008:Software and System Test Documentation
IEEE 829 2008:Software and System Test Documentation
 
Sistemas Operativos Moviles
Sistemas Operativos MovilesSistemas Operativos Moviles
Sistemas Operativos Moviles
 

Andere mochten auch

Distribución de multimedia en aplicaciones móviles a través de CDNs
Distribución de multimedia en aplicaciones móviles a través de CDNsDistribución de multimedia en aplicaciones móviles a través de CDNs
Distribución de multimedia en aplicaciones móviles a través de CDNsmjgzotano
 
Programación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. IntroducciónProgramación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. IntroducciónHoracio Maldonado Sea
 
Desarrollo de aplicaciones moviles con Intel XDK
Desarrollo de aplicaciones moviles con Intel XDKDesarrollo de aplicaciones moviles con Intel XDK
Desarrollo de aplicaciones moviles con Intel XDKSoftware Guru
 
Dispositivos móviles, recursos multimedia y Flipped Classroom. Herramientas d...
Dispositivos móviles, recursos multimedia y Flipped Classroom. Herramientas d...Dispositivos móviles, recursos multimedia y Flipped Classroom. Herramientas d...
Dispositivos móviles, recursos multimedia y Flipped Classroom. Herramientas d...Cátedra Banco Santander
 
ASME Sección IX: 2015 (Elaboración de WPS y PQR)
ASME Sección IX: 2015 (Elaboración de WPS y PQR)ASME Sección IX: 2015 (Elaboración de WPS y PQR)
ASME Sección IX: 2015 (Elaboración de WPS y PQR)Daniel Gómez
 
Guia del codigo asme seccion viii division 1 tomo 1
Guia del codigo asme seccion viii division 1 tomo 1Guia del codigo asme seccion viii division 1 tomo 1
Guia del codigo asme seccion viii division 1 tomo 1Sicea Ingenieria
 

Andere mochten auch (7)

Distribución de multimedia en aplicaciones móviles a través de CDNs
Distribución de multimedia en aplicaciones móviles a través de CDNsDistribución de multimedia en aplicaciones móviles a través de CDNs
Distribución de multimedia en aplicaciones móviles a través de CDNs
 
Programación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. IntroducciónProgramación en Android 1 capítulo. Introducción
Programación en Android 1 capítulo. Introducción
 
Desarrollo de aplicaciones moviles con Intel XDK
Desarrollo de aplicaciones moviles con Intel XDKDesarrollo de aplicaciones moviles con Intel XDK
Desarrollo de aplicaciones moviles con Intel XDK
 
Dispositivos móviles, recursos multimedia y Flipped Classroom. Herramientas d...
Dispositivos móviles, recursos multimedia y Flipped Classroom. Herramientas d...Dispositivos móviles, recursos multimedia y Flipped Classroom. Herramientas d...
Dispositivos móviles, recursos multimedia y Flipped Classroom. Herramientas d...
 
ASME Sección IX: 2015 (Elaboración de WPS y PQR)
ASME Sección IX: 2015 (Elaboración de WPS y PQR)ASME Sección IX: 2015 (Elaboración de WPS y PQR)
ASME Sección IX: 2015 (Elaboración de WPS y PQR)
 
Guia del codigo asme seccion viii division 1 tomo 1
Guia del codigo asme seccion viii division 1 tomo 1Guia del codigo asme seccion viii division 1 tomo 1
Guia del codigo asme seccion viii division 1 tomo 1
 
Api 650-en-espanol
Api 650-en-espanolApi 650-en-espanol
Api 650-en-espanol
 

Ähnlich wie Programación multimedia y dispositivos móviles

Ähnlich wie Programación multimedia y dispositivos móviles (20)

Proy utilitarios
Proy utilitariosProy utilitarios
Proy utilitarios
 
Presentacion aplicaciones moviles
Presentacion aplicaciones movilesPresentacion aplicaciones moviles
Presentacion aplicaciones moviles
 
EXPOSICION DE SISTEMAS OPERATIVOS MOVILES.pptx
EXPOSICION DE SISTEMAS OPERATIVOS MOVILES.pptxEXPOSICION DE SISTEMAS OPERATIVOS MOVILES.pptx
EXPOSICION DE SISTEMAS OPERATIVOS MOVILES.pptx
 
Programacion de telefonos moviles
Programacion de telefonos movilesProgramacion de telefonos moviles
Programacion de telefonos moviles
 
Programacion de telefonos moviles
Programacion de telefonos movilesProgramacion de telefonos moviles
Programacion de telefonos moviles
 
Sthefany leonlenguajec
Sthefany leonlenguajecSthefany leonlenguajec
Sthefany leonlenguajec
 
Curso android 01 leccion - teoria
Curso android   01 leccion - teoriaCurso android   01 leccion - teoria
Curso android 01 leccion - teoria
 
Investigacion
InvestigacionInvestigacion
Investigacion
 
Investigacion
InvestigacionInvestigacion
Investigacion
 
Marco teorico
Marco teoricoMarco teorico
Marco teorico
 
Lizbeth
LizbethLizbeth
Lizbeth
 
Lizbeth
LizbethLizbeth
Lizbeth
 
Android
AndroidAndroid
Android
 
Dispositivosmoviles
DispositivosmovilesDispositivosmoviles
Dispositivosmoviles
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_moviles
 
Sistemas operativos-moviles-terminado
Sistemas operativos-moviles-terminadoSistemas operativos-moviles-terminado
Sistemas operativos-moviles-terminado
 
Presentacion Android
Presentacion AndroidPresentacion Android
Presentacion Android
 
Sistemas operativos moviles Android
Sistemas operativos moviles  AndroidSistemas operativos moviles  Android
Sistemas operativos moviles Android
 
Introducción a la Plataforma para Móviles Android
Introducción a la Plataforma  para Móviles AndroidIntroducción a la Plataforma  para Móviles Android
Introducción a la Plataforma para Móviles Android
 
La nube móvil y el ecosistema de aplicaciones Olman Cruz
La nube móvil y el ecosistema de aplicaciones Olman CruzLa nube móvil y el ecosistema de aplicaciones Olman Cruz
La nube móvil y el ecosistema de aplicaciones Olman Cruz
 

Mehr von Anuska González

Seguridad y alta disponibilidad
Seguridad y alta disponibilidadSeguridad y alta disponibilidad
Seguridad y alta disponibilidadAnuska González
 
Implantación de aplicaciones web
Implantación de aplicaciones webImplantación de aplicaciones web
Implantación de aplicaciones webAnuska González
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de informaciónAnuska González
 
Programación de servicios y procesos
Programación de servicios y procesosProgramación de servicios y procesos
Programación de servicios y procesosAnuska González
 
Inicio del curso 2013 2014
Inicio del curso 2013 2014Inicio del curso 2013 2014
Inicio del curso 2013 2014Anuska González
 
Presentación seguridad informática
Presentación   seguridad informáticaPresentación   seguridad informática
Presentación seguridad informáticaAnuska González
 

Mehr von Anuska González (10)

Seguridad y alta disponibilidad
Seguridad y alta disponibilidadSeguridad y alta disponibilidad
Seguridad y alta disponibilidad
 
Implantación de aplicaciones web
Implantación de aplicaciones webImplantación de aplicaciones web
Implantación de aplicaciones web
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de información
 
Lenguajes de Marcas XML
Lenguajes de Marcas XMLLenguajes de Marcas XML
Lenguajes de Marcas XML
 
4. acceso a datos
4. acceso a datos4. acceso a datos
4. acceso a datos
 
Programación de servicios y procesos
Programación de servicios y procesosProgramación de servicios y procesos
Programación de servicios y procesos
 
Acceso a datos
Acceso a datosAcceso a datos
Acceso a datos
 
Inicio del curso 2013 2014
Inicio del curso 2013 2014Inicio del curso 2013 2014
Inicio del curso 2013 2014
 
Presentación seguridad informática
Presentación   seguridad informáticaPresentación   seguridad informática
Presentación seguridad informática
 
Presentación de prueba
Presentación de pruebaPresentación de prueba
Presentación de prueba
 

Programación multimedia y dispositivos móviles

  • 1. PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES
  • 2. INTRODUCCIÓN El módulo Programación Multimedia y Dispositivos Móviles se desarrollará a lo largo de este curso con una duración de 4 horas semanales. En primer lugar se realizará una revisión de las principales tecnologías para el desarrollo de aplicaciones para dispositivos móviles como Android, Windows Phone, iPhone, Symbian, BlackBerry, etc., para centrarnos después en el desarrollo de aplicaciones con tecnología Android. Se tratará 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í como las principales clases del API para desarrollar aplicaciones para reproducir y grabar audio y vídeo. Se realizará un análisis de los motores de juegos para la plataforma Android, los principales conceptos de animación y los componentes básicos de un juego.También se estudiará la API de gráficos en 3D de Android con Open GL.
  • 3. CONTENIDOS El módulo Programación Multimedia y Dispositivos Móviles está distribuido en 7 unidades de trabajo, que se detallan a continuación:  Características específicas y entornos de desarrollo para la programación en dispositivos móviles  Introducción a la programación en dispositivos móviles  Comunicaciones: mensajes de texto, multimedia, HTTP, HTTPS  Librerías multimedia integradas  Motores de Juegos  Herramientas para desarrollo de videojuegos 2D y 3D  Conceptos avanzados de programación 3D
  • 4. BIBLIOGRAFÍA  “PROGRAMACIÓN MULTIMEDIA Y DISPOSITIVOS MÓVILES. CFGS.” Paredes Velasco, Maximiliano / Santacruz Valencia, Liliana P. / Domínguez Mateos, Francisco Editorial RA-MA ISBN: 978-84-9964-170-6  Otros recursos que se irán indicando a los alumnos durante las clases.
  • 5. RECURSOS Para el desarrollo y aprendizaje del módulo Programación Multimedia y Dispositivos Móviles vamos a necesitar un compilador de Java así como el conjunto de librerías y herramientas necesarias para el desarrollo de aplicaciones para Android, así como un emulador Android para probar nuestras aplicaciones. En resumen, necesitaremos:  Eclipse con el plugin ADT (Android Developer Tools)  Android SDK herramientas  Android Platform-tools  La última plataforma Android  La imagen más reciente del sistema Android para el emulador Con una sola descarga, el paquete ADT incluye todo lo necesario para comenzar a desarrollar aplicaciones.
  • 6. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES Introducción La revolución de los dispositivos para comunicaciones móviles tiene tan solo 20 años. Durante este tiempo la tecnología ha evolucionado desde la voz a la información inalámbrica y el uso de dispositivos móviles se ha convertido en algo cotidiano. Gracias a ello, en la actualidad tenemos la posibilidad de comunicarnos con cualquier persona, en cualquier momento y desde casi cualquier lugar. Desde los enormes terminales móviles a los teléfonos inteligentes, los teléfonos han recorrido un largo camino, en relativamente no demasiado tiempo. El desarrollo de dispositivos trajo consigo un problema, la integración entre plataformas. Por lo tanto fue necesaria la definición de estándares y protocolos que permitieran una conectividad sin límites. Este fue el punto de partida para el desarrollo de importantes estándares como WAP (Wireless Access Protocol), UMTS (Universal Mobile Telecommunications System) o BlueTooth.
  • 7. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES Contenidos de la unidad 1. Limitaciones en la ejecución de aplicaciones para dispositivos móviles 2. Tecnologías disponibles 3. Entornos integrados de trabajo y compilación 4. Emuladores 5. Arquitectura J2ME
  • 8. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 1. Limitaciones en la ejecución de aplicaciones para dispositivos móviles  Las limitaciones están relacionadas, principalmente, con las características hardware y de conexión, asociadas a cada dispositivo móvil.  Las aplicaciones deben diseñarse evitando la sobrecarga de elementos multimedia.  El tamaño de las pantallas y la iluminación también son factores determinantes en el diseño de aplicaciones. No hay que olvidar que la mayoría de los datos de entrada que proporciona el usuario son introducidos con una sola mano y en muchas ocasiones en movimiento.  La distribución de los elementos en la interfaz marca la diferencia.  Durante el proceso de envío y/o recepción de datos, debemos mantener informado al usuario sobre el progreso de esta operación y el tiempo estimado para la finalización de la misma. El tiempo de espera entre la petición de los datos y el momento en el que empieza a llegar la respuesta es lo que se conoce como latencia.
  • 9. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 1. Limitaciones en la ejecución de aplicaciones para dispositivos móviles  La función de teléfono (es decir, realizar y/o recibir llamadas), tiene la prioridad más alta. Por lo tanto, en el momento en el que se reciba una llamada, la aplicación debe proporcionar la forma de mantener el estado en el que ha sido interrumpida.  No podemos dar por sentado que tendremos el acceso a Internet garantizado y que podremos obtener los datos necesarios para la ejecución de la aplicación.  Aunque el uso de emuladores es útil para simular el comportamiento de la aplicación, hay que tener presente que se ejecutan en equipos cuya capacidad de procesamiento es superior a la del dispositivo
  • 10. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 2.Tecnologías disponibles  Android  Blackberry  Symbian  Palm OS (WEBOS)  Windows Phone  IOS
  • 11. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 2.Tecnologías disponibles. Android.  Desarrollado por Open Handset Alliance (OHA), una agrupación de 78 compañías para desarrollar estándares abiertos para dispositivos móviles y que está liderada por Google.  Inicialmente Android fue desarrollado por la compañía Android Inc., que fue comprada en el año 2005 por Google.  Google libera la mayoría del código Android bajo una licencia Apache (licencia libre y de código abierto).  Desde su creación ha ido pasando por diferentes versiones, desde la versión primera (1.0) hasta la actual (4.3, denominada también Jelly Bean).  Android se ha convertido de forma rápida en uno de los SO de móviles con mayor presencia. Actualmente hay más de 200 millones de dispositivos móviles Android activados y cada día se activan más de 550.000 nuevos dispositivos en 137 países y regiones.
  • 12. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 2.Tecnologías disponibles. Android.  Ventajas que han hecho posible su gran éxito:  Ser código abierto con licencia Apache  Dar libertad al usuario del dispositivo para instalar el software que crea oportuno sin imponer que sea software propietario  Los desarrolladores tienen libertad para desarrollar cualquier software y ofertarlo a los usuarios.  No está limitado a determinados proveedores, operadoras o fabricantes, etc.
  • 13. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 2.Tecnologías disponibles. Android. La arquitectura del sistema operativo Android está organizada de la siguiente forma:  Aplicaciones: proporciona un conjunto de aplicaciones de usuario como cliente de correo, calendario, mapas, navegador, agenda de contactos, etc.  Framework de Aplicaciones: conjunto de aplicaciones en forma de servicios disponibles al desarrollador que le facilitan aspectos como acceso al hardware del dispositivo.  Librerías: conjunto de librerías que usan otros módulos del sistema operativo y están accesibles a los desarrolladores de aplicaciones a través del Framework de Aplicaciones.  Entorno de Ejecución: está formado por las librerías del núcleo del sistema operativo y por la máquina virtual. Es el motor que ejecuta los programas.  Linux Kernel: Android se basa en la versión 2.6 de Linux para implementar servicios bases de sistema como seguridad, gestión de memoria, gestión de procesos, pila de red y varios drivers, etc.
  • 14. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 2.Tecnologías disponibles. Otras tecnologías.  Blackberry BlackBerry está desarrollado por la compañía RIM (Research In Motion). Los móviles BlackBerry destacan principalmente por su capacidad de enviar y recibir correo electrónico por Internet a través de los operadores que ofrecen este servicio. Actualmente, del mercado mundial, BlackBerry asume un 2,9% de los móviles vendidos, y el 11% de los smartphone, si bien su mayor cuota de mercado está en EE.UU.  Symbian Es el resultado de adaptar Epoc (utilizado por Psion en sus agendas electrónicas durante los 80) a dispositivos móviles y tiene diferentes variantes según el dispositivo en el que se utilice. De todos los fabricantes de móviles es Nokia el que más ampliamente ha utilizado este sistema operativo. Sony Ericcson también utiliza Symbian en algunos de sus dispositivos.  Palm OS (WEBOS) Es el sistema operativo de los dispositivos móviles desarrollados por la empresa Palm Inc. Esta empresa tuvo un gran auge con sus agendas electrónicas o PDA. La compañía Palm Inc, fue adquirida en 2010 por HP y, actualmente, HP utiliza webOS en sus dispositivos móviles y tablets. En diciembre de 2011 la compañía Hewlet-Packard liberó el código de webOS y en la actualidad es un sistema de código abierto.
  • 15. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 2.Tecnologías disponibles. Otras tecnologías.  Windows Phone Fue lanzado a finales del año 2010 tras dos años de desarrollo. Entre las novedades se encuentra la denominada interfaz de usuario “Metro” basada en la utilización de mosaicos dinámicos que muestran información útil al usuario. Además se introduce el concepto de HUB, en donde se centralizan las acciones y las aplicaciones se agrupan por el tipo de actividad que representan.  IOS A mediados de 2007 la tecnología Apple nos ofreció iOS desarrollado originalmente para el IPhone y con él, una nueva definición del teléfono móvil. Más tarde fue introducido en el iPod Touch y actualmente en el IPad. A finales de 2011 se lanzó la versión iOS 5, con una interfaz mejorada y nuevas funcionalidades.
  • 16. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 3. Entornos integrados de trabajo y compilación. Entorno para Android. Vamos a centrarnos exclusivamente en el entorno de desarrollo para Android. El desarrollo de aplicaciones Android se realiza con un grupo de herramientas que son suministradas en el SDK. La utilización de este grupo de herramientas puede ser de dos formas:  Utilizando un Entorno de Desarrollo Integrado (IDE) en combinación con un plugin llamado ADT (Android Development Tools, Herramientas de Desarrollo para Android)  Desde la línea de comandos. Se puede utilizar cualquier IDE, si bien lo más común es usar Eclipse. Si se decide prescindir de un IDE se necesita únicamente un editor de texto para escribir el código fuente e invocar las herramientas de compilación, depuración, etc., desde la línea de comandos o mediante scripts.
  • 17. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 3. Entornos integrados de trabajo y compilación. Entorno para Android. Los pasos básicos para desarrollar aplicaciones Android son:  Instalación: en esta etapa se instala el entorno de desarrollo completo incluyendo el IDE y el SDK de Android, y se crean AVD (Android Virtual Device, Dispositivos Virtuales Android).  Desarrollo: en esta etapa se crea y desarrolla el proyecto Android, creando el código fuente de la aplicación  Depuración y pruebas: en esta etapa se depura la aplicación usando un depurador JDWP y las herramientas debug del SDK Android. Eclipse proporciona su propio depurador. Por último, se comprueba el correcto funcionamiento de la aplicación usando varias herramientas del SDK como emuladores.  Publicación: en esta última etapa se configura y se construye la aplicación para generarse una versión release (una versión de entrega) para distribuir entre los usuarios.
  • 18. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 3. Entornos integrados de trabajo y compilación. Entorno para Android. Aunque se puede utilizar cualquier IDE para desarrollar con el SDK Android, el más extendido es Eclipse. Veamos los pasos que hay que seguir para instalar y configurar Eclipse para desarrollar aplicaciones Android: 1. Instalar Eclipse 2. Instalar el SDK Android 3. Instalar el Plugin ADT para Eclipse 4. Configurar el plugin ADT 5. Añadir Componentes También es posible descargar el paquete ADT que incluye todo lo necesario para comenzar a desarrollar aplicaciones.
  • 19. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 4. Emuladores Los entornos de desarrollo utilizan emuladores para la simulación de las aplicaciones que desarrollan sin necesidad de utilizar un dispositivo móvil real. Estos emuladores suelen ir integrados en los entornos de desarrollo, si bien se pueden instalar y utilizar en algunos casos independientemente. Emuladores para android El SDK Android incluye un emulador de dispositivos móviles virtuales. El emulador puede invocar a otras aplicaciones, acceder a red, reproducir audio y vídeo, almacenar y recuperar datos, etc., usando servicios de la plataforma Android. Además, también proporciona servicios de depuración y permite realizar prototipos de aplicaciones, desarrollar y testear aplicaciones Android sin necesidad de un dispositivo físico. El emulador proporciona una ventana en la que se visualiza en ejecución la aplicación que se está desarrollando junto con otras aplicaciones Android. El emulador utiliza configuraciones AVD (Android Virtual Device, Dispositivo Virtual para Android). Un AVD permite definir ciertas características hardware del teléfono a emular. Se pueden crear varias configuraciones para diferentes plataformas Android mediante los AVD.
  • 20. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 4. Emuladores Android Virtual Device (AVD) Un AVD está formado por:  Perfil hardware: define las características hardware de dispositivos virtuales. Por ejemplo, se puede definir si el dispositivo tiene cámara, si usa teclado físico QWERTY, cuánta memoria tiene, etc.  Mapping del sistema: se puede definir para qué versión de la plataforma Android se ejecutará el emulador.  Otras opciones: especifica otras características del emulador, como la dimensión de la pantalla, la apariencia, si se quiere emular una tarjeta de almacenamiento SD, etc.  Área de almacenamiento: es necesario un espacio de almacenamiento de la máquina de desarrollo para almacenar los datos del usuario del emulador (como aplicaciones que instala el usuario en el emulador) y la tarjeta SD emulada. Lo más común es integrar y utilizar el emulador desde el IDE que se esté utilizando para desarrollar aplicaciones Android. Eclipse proporciona con el menú window > AVD manager un gestor de dispositivos virtuales. Este gestor muestra una lista de dispositivos virtuales que están instalados en el entorno de desarrollo y diferentes opciones para gestionarlos (añadir nuevos, editarlo, borrarlo, etc.)
  • 21. UT 1. CARACTERÍSTICAS ESPECÍFICAS Y ENTORNOS DE DESARROLLO PARA LA PROGRAMACIÓN EN DISPOSITIVOS MÓVILES 5.Arquitectura J2ME J2ME o Java 2 Micro Edition es la versión Java para dispositivos móviles y sistemas de pequeño tamaño. J2ME pertenece a la versión 2 de Java que está compuesta por tres ediciones distintas:  Edición Estándar (J2SE): este es el entorno básico de Java, está compuesto por las clases básicas de Java, que nos permiten desarrollar y ejecutar aplicaciones cliente, servidor y applets.  Edición Empresarial (J2EE): es una ampliación de la edición anterior y está pensada para el desarrollo de aplicaciones servidor.  Edición Micro (J2ME): es una versión reducida de Java que permite desarrollar aplicaciones para sistemas móviles, empotrados y electrónicos de características especiales.