SlideShare una empresa de Scribd logo
1 de 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.

Más contenido relacionado

La actualidad más candente

Tema 4. Detección de Intrusos
Tema 4. Detección de IntrusosTema 4. Detección de Intrusos
Tema 4. Detección de Intrusos
Francisco Medina
 
Seguridad y amenazas en la red.
Seguridad y amenazas en la red.Seguridad y amenazas en la red.
Seguridad y amenazas en la red.
guestf3ba8a
 
Seguridad informatica mecanismo de seguridad informática
Seguridad informatica   mecanismo de seguridad informáticaSeguridad informatica   mecanismo de seguridad informática
Seguridad informatica mecanismo de seguridad informática
Jose Quiroz
 
Seguridad en la nube exposicion completa
Seguridad en la nube   exposicion completaSeguridad en la nube   exposicion completa
Seguridad en la nube exposicion completa
Maxwell Kenshin
 
реферат мобилни комуникации
реферат мобилни комуникацииреферат мобилни комуникации
реферат мобилни комуникации
gancho_gochev
 

La actualidad más candente (20)

SIEM Primer:
SIEM Primer:SIEM Primer:
SIEM Primer:
 
Tema 4. Detección de Intrusos
Tema 4. Detección de IntrusosTema 4. Detección de Intrusos
Tema 4. Detección de Intrusos
 
Proyecto Seguridad en Redes
Proyecto Seguridad en RedesProyecto Seguridad en Redes
Proyecto Seguridad en Redes
 
Microsoft Defender and Azure Sentinel
Microsoft Defender and Azure SentinelMicrosoft Defender and Azure Sentinel
Microsoft Defender and Azure Sentinel
 
Aspectos sobre Ciberseguridad - ISO/IEC 27032
Aspectos sobre Ciberseguridad - ISO/IEC 27032Aspectos sobre Ciberseguridad - ISO/IEC 27032
Aspectos sobre Ciberseguridad - ISO/IEC 27032
 
Seguridad y amenazas en la red.
Seguridad y amenazas en la red.Seguridad y amenazas en la red.
Seguridad y amenazas en la red.
 
AWS
AWSAWS
AWS
 
Red Team: Auditando los procesos de detección y respuesta a incidentes
Red Team: Auditando los procesos de detección y respuesta a incidentesRed Team: Auditando los procesos de detección y respuesta a incidentes
Red Team: Auditando los procesos de detección y respuesta a incidentes
 
Security Onion
Security OnionSecurity Onion
Security Onion
 
Reporte Ciberseguridad 2020: riesgos, avances y el camino a seguir en América...
Reporte Ciberseguridad 2020: riesgos, avances y el camino a seguir en América...Reporte Ciberseguridad 2020: riesgos, avances y el camino a seguir en América...
Reporte Ciberseguridad 2020: riesgos, avances y el camino a seguir en América...
 
Seguridad informatica mecanismo de seguridad informática
Seguridad informatica   mecanismo de seguridad informáticaSeguridad informatica   mecanismo de seguridad informática
Seguridad informatica mecanismo de seguridad informática
 
Seguridad Informatica
Seguridad  InformaticaSeguridad  Informatica
Seguridad Informatica
 
Seguridad en la nube exposicion completa
Seguridad en la nube   exposicion completaSeguridad en la nube   exposicion completa
Seguridad en la nube exposicion completa
 
реферат мобилни комуникации
реферат мобилни комуникацииреферат мобилни комуникации
реферат мобилни комуникации
 
Aws Cloud9 exposición.
Aws Cloud9   exposición.Aws Cloud9   exposición.
Aws Cloud9 exposición.
 
Enterprise Security in Hybrid Cloud ISACA-SV 2012
Enterprise Security in Hybrid Cloud ISACA-SV 2012Enterprise Security in Hybrid Cloud ISACA-SV 2012
Enterprise Security in Hybrid Cloud ISACA-SV 2012
 
sistema de información gerencial
sistema de información gerencial sistema de información gerencial
sistema de información gerencial
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
SC conference - Building AppSec Teams
SC conference  - Building AppSec TeamsSC conference  - Building AppSec Teams
SC conference - Building AppSec Teams
 
Administración de recursos de datos
Administración de recursos de datosAdministración de recursos de datos
Administración de recursos de datos
 

Destacado

Destacado (8)

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
 
PROGRAMACIÓN DE DISPOSITIVOS MÓVILES
PROGRAMACIÓN DE DISPOSITIVOS MÓVILESPROGRAMACIÓN DE DISPOSITIVOS MÓVILES
PROGRAMACIÓN DE DISPOSITIVOS MÓVILES
 

Similar a Programación multimedia y dispositivos móviles

Presentacion aplicaciones moviles
Presentacion aplicaciones movilesPresentacion aplicaciones moviles
Presentacion aplicaciones moviles
jessica_romeista
 

Similar a 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
 

Más de 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.