• No se han encontrado resultados

Multimedia y publicaciónMultimedia y publicación

Multimedia y publicación

L

LOGRO DE LA UNIDAD DE APRENDIZAJEOGRO DE LA UNIDAD DE APRENDIZAJE

Al término de la unidad, el alumno elabora aplicaciones que permitan el uso del video y de sus dispositivos visuales y las publicará en GooglePlay.

T TEMARIOEMARIO

7.1 Tema 12: Audio, Video y Uso de Dispositivos visuales 7.1 Tema 12: Audio, Video y Uso de Dispositivos visuales

7.1.1 Componente Media Player. Definición, características y aplicaciones. 7.1.2 Visualización de videos usando la vista Video.

7.1.3 Grabación de audio y video: Uso de Intents para grabar video. 17.2

17.2 Tema Tema 14: 14: Publicación Publicación en en Google Google PlayPlay 7.2.1

7.2.1 Generación de APK firmado con el certificado digital. 7.2.2

7.2.2 Creación de la cuenta en Google Play. 7.2.3 7.2.3 Publicación de la aplicación UNIDAD UNIDAD

7

7

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 11 55 11

Audio, Video y Uso de

Audio, Video y Uso de Dispositivos visualesDispositivos visuales Multimedia

Multimedia

La capacidad de reproducir contenido multimedia es una característica presente en la práctica totalidad de las terminales telefónicas existentes en el mercado hoy en día. Muchos usuarios prefieren utilizar las capacidades multimedia de su teléfono, en lugar de tener que depender de otro dispositivo adicional para ello. Android incorpora la posibilidad de reproducir no sólo audio en diversos formatos, sino que también vídeo. Los formatos de audio soportados son los siguientes:

 AAC LC/LTP  HE-AACv1 (AAC+)

 HE-AACv2 (Enhanced ACC+)  AMR-NB  AMR-WB  FLAC  MP3  MIDI  Ogg Vorbis  PCM/Wave

Con respecto al vídeo, los formatos soportados son:  H.263

 H.264 AVC  MPEG-4 SP 

VP8

En esta sesión echaremos un vistazo a las herramientas necesarias para poder reproducir contenido multimedia (audio o vídeo) en una actividad. También veremos cómo añadir la capacidad a nuestra aplicación para la toma de fotografías, una característica perfectamente emulada por el emulador en las últimas versiones del Android SDK.

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 152152

Reproducción de audio Reproducción de audio

La reproducción de contenido multimedia se lleva a cabo por medio de la clase MediaPlayer. Dicha clase nos permite la reproducción de archivos multimedia almacenados como recursos de la aplicación, en ficheros locales, en proveedores de contenido, o servidos por medio de streaming a partir de una URL. En todos los casos, como desarrolladores, la clase MediaPlayer nos permitirá abstraernos del formato así como del srcen del fichero a reproducir. Incluir un fichero de audio en los recursos de la aplicación para poder ser reproducido durante su ejecución es muy sencillo. Simplemente creamos una carpeta raw dentro de la carpeta res, y almacenamos en ella sin comprimir el fichero o ficheros que deseamos reproducir. A partir de ese momento el fichero se identificará dentro del código como R.raw.nombre_Archivo. Para reproducir un fichero de audio tendremos que seguir una secuencia de pasos.

 En primer lugar deberemos crear una instancia de la clase MediaPlayer.  El siguiente paso será indicar qué fichero será el que se reproducirá. Por último

ya podremos llevar a cabo la reproducción en sí misma del contenido multimedia.

Veamos primero cómo inicializar la reproducción.

Tenemos dos opciones. La primera de ellas consiste en crear una instancia de la clase MediaPlayer por medio del método create(). En este caso se deberá pasar como parámetro, además del contexto de la aplicación, el identificador del recurso, tal como se puede ver en el siguiente ejemplo:

Reproducción de vídeo usando el control VideoView Reproducción de vídeo usando el control VideoView

La reproducción de vídeo es muy similar a la reproducción de audio, salvo dos particularidades. En primer lugar, no es posible reproducir un clip de vídeo almacenado como parte de los recursos de la aplicación. En este caso deberemos utilizar cualquiera de los otros tres medios (ficheros locales, streaming o proveedores de contenidos). Un poco más adelante veremos cómo añadir un clip de vídeo a la tarjeta de memoria de nuestro terminal emulado desde la propia interfaz de Eclipse. En segundo lugar, el vídeo necesitará de una superficie para poder reproducirse. Esta superficie se corresponderá con una vista dentro del layout de la actividad. Existen varias alternativas para la reproducción de vídeo, teniendo en cuenta lo que acabamos de comentar. La más sencilla es hacer uso de un control de tipo VideoView, que encapsula tanto la creación de una superficie en la que reproducir el vídeo como el control del mismo mediante una instancia de la clase MediaPlayer. Este método será el que veamos en primer lugar. El primer paso consistirá en añadir el control VideoView a la interfaz gráfica de la actividad en la que queramos que se reproduzca el vídeo. Podemos añadir algo como lo siguiente el fichero de layout correspondiente:

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 11 55 33

Dentro del código Java podremos acceder a dicho elemento de la manera habitual, es decir, mediante el método findViewById(). Una vez hecho esto, asignaremos una fuente que se corresponderá con el contenido multimedia a reproducir. El control VideoView se encargará de la inicialización del objeto MediaPlayer. Para asignar un video a reproducir podemos utilizar cualquiera de estos dos métodos:

Una vez inicializado el control se puede controlar la reproducción con los métodos:  start()

 stopPlayback()  pause()  seekTo()

La clase VideoView también incorpora el método setKeepScreenOn(boolean)con la que se podrá controlar el comportamiento de la iluminación de la pantalla durante la reproducción del clip de vídeo. Si se pasa como parámetro el valor true ésta permanecerá constantemente iluminada.

El siguiente código muestra un ejemplo de asignación de un vídeo a un control VideoView y de su posterior reproducción. Dicho código puede ser utilizado a modo de esqueleto en nuestra propia actividad. También podemos ver un ejemplo de uso de seekTo(), en este caso para avanzar hasta la posición intermedia del video.

En esta sección veremos en último lugar, tal como se ha indicado anteriormente, la manera de añadir archivos a la tarjeta de memoria de nuestro dispositivo virtual, de tal forma que podamos almacenar clips de vídeo y resolver los ejercicios propuestos para la sesión. Se deben seguir los siguientes pasos:

En primer lugar el emulador debe encontrarse en funcionamiento, y por supuesto, el dispositivo emulado debe hacer uso de una tarjeta SD.

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 154154

Gráficos 2D y Aplicaciones Multimedia Gráficos 2D y Aplicaciones Multimedia

Las librerías android.graphics.drawable y android.view.animation son proporcionadas por Android para dibujar y animar imágenes y formas 2D.

Drawables Drawables

Se refiere a todo aquello que se puede dibujar. Es la clase de la cual heredan una variedad de tipos de gráficos, incluyendo BitmapDrawable, ShapeDrawable, PictureDrawable, LayerDrawable y otros. Hay tres maneras distintas de instanciar una clase Drawable.

 Utilizar una imagen almacenada en el directorio de recursos de nuestro proyecto.  Utilizar un XML que define las propiedades del objeto para luego poder

recuperarlo mediante getDrawable() y el ID que se le asignó en el XML. o Utilizando los constructores propios de la clase.

Lxas librerías android.graphics.drawable y android.view.animation son proporcionadas por Android para dibujar y animar imágenes y formas 2D. ShapeDrawable

ShapeDrawable

Se utiliza para realizar gráficos simples en 2D y aplicarles estilos directamente Desde el código de nuestra aplicación.

Al ser una clase que hereda de Drawable, se puede utilizar en el mismo contexto que ésta. Se pueden realizar por lo tanto clases View que dibujen formas personalizadas gracias al método onDraw() que incluye la clase S hapeDr awable.

Crear un

Crear un reproductor mediaplayereproductor mediaplayerr

Crear una instancia de MediaPlayer y ejecutar el método start() pasando la referencia al recurso.

MediaPlayer mp= MediaPlayer.create(getApplicationContext (), R.raw.bundle); mp.start();

Reproducir desde Stream Reproducir desde Stream

 Crear una instancia de MediaPlayer y usar el método setDataSource()wcon la cadena que contiene el path al sistema local o la URL.

 Utilizar prepare() y después start()en la instancia. MediaPlayer mp = new MediaPlayer();

mp.setDataSource( PATH_TO_FILE); mp.prepare();

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 11 55 55

Grabar audio y video Grabar audio y video

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 156156

Publicación de Publicación de softwaresoftware

Para publicar nuestras aplicaciones primero tenemos que empaquetarlas. Antes de empaquetar debemos preparar el código y comprobar que todo esté correcto:

 Nombre de la aplicación, icono y versión. 

Deshabilitar debugging en el AndroidManifest.xml (atributo android:debuggable="false" del tag de application).

 Eliminar cualquier mensaje de Log.

 Pedir sólo los permisos que de verdad la aplicación use, y no más de los necesarios. • Por supuesto, haber probado la aplicación en terminales reales, a

ser posible en más de uno.

Antes de comenzar con nuestra publicación debemos aprender cómo funciona la herramienta de control de aplicaciones de google denominado “google play”

Google Play Services Google Play Services

Es una aplicación del sistema de Android que nos permitirá tener el resto de aplicaciones de nuestro terminal siempre actualizadas, ya que se encargará de comprobar que todas las apps instaladas están en la última versión disponible. Las funciones principales de Google Play Services son la autentificación de servicios de Google, la sincronización de contactos, el acceso a la última configuración de privacidad del usuario, y los servicios basados en la ubicación de mayor calidad y menor potencia.

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 11 55 77

Modo de control de li

Modo de control de licencias por google playcencias por google play

Una vez publicado la aplicación la licencia se valida con la librería de google play cliente y este se comunica con el servidor de google

Firmar la aplicación Android Firmar la aplicación Android

Para firmar la aplicación debes dar realizar el siguiente procedimiento Prepara tu APK

Prepara tu APK

 Cuando estés listo para realizar cambios en el APK, asegúrate de actualizar también el Código de versión de la aplicación para que los usuarios existentes reciban la actualización.

 Utiliza la siguiente lista de verificación para asegurarte de que el nuevo APK esté listo para actualizar a los usuarios existentes:

 El nombre de paquete del archivo APK actualizado debe ser el mismo que el de la versión actual.

 El código de versión debe ser superior al código de la versión actual. Obtén más información sobre cómo crear versiones de tu aplicación.

La firma del archivo APK actualizado debe coincidir con la firma de la versión actual. Para comprobar que el archivo APK utiliza la misma certificación que la versión anterior, puedes ejecutar el siguiente comando en ambos archivos APK y comparar los resultados:

$ keytool -genkey -v -keystore nombredenuestrakeystore.keystore -alias aliasdenuestrakeystore -keyalg RSA -keysize 2048 -validity 10000

Si los resultados son idénticos, significa que estás utilizando la misma clave y que puedes continuar. Si los resultados son diferentes, tendrás que volver a firmar el archivo APK con la clave correcta.

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 158158

Publicar Aplicaciones Publicar Aplicaciones

1. Ingresar a tu cuenta de Gmail

2. Ingresar a la consola de publicaciones de google play  https://play.google.com/apps/publish/

1. Agregar un nombre

2. Dar click en Preparar Ficha de play store  https://play.google.com/apps/publish/

3.

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 11 55 99

VII. BIBLIOGRAFÍA DEL CURSO VII. BIBLIOGRAFÍA DEL CURSO Básica

Básica

GIRONÉS, Jesús Tomas GIRONÉS, Jesús Tomas

2013 El gran libro de Android 3era Edición. México: Alfa y Omega.

GARGENTA, Marko GARGENTA, Marko

2011 Learning Android (245 pages)

United States of America: O’Reilly Media, Inc.

HODSON, Ryan HODSON, Ryan

2014 Android Programming Succinctle. United States of America:Syncfusion Inc. THOMAS, Erl

THOMAS, Erl

2010 Service Oriented Architecture: A field Guide to integrating XML and Web Services.

United States of America Canada: Prentice Hall SMYTH, Neil

SMYTH, Neil

2014 Android 4.4 App Development Essentials (47 pages). Lean Publishing Bibliografía Electrónica

Bibliografía Electrónica

SATYA, Komatineni y MACLEAN, Dave SATYA, Komatineni y MACLEAN, Dave

2012 Expert Android. (Consulta: 22 de enero 2015) United States of America: Apress Inc. Recuperado de:

http://androidbook.com/akc/display?url=ShowAttachmentsIMPURL&reportId=442 3&downerUserId=satya&order_by_format=name

ANDROID Developer ANDROID Developer

2014 Sitio web oficial de desarrollo Android. (Consulta: 27 de Diciembre 2014)(http://developer.android.com/index.html)

LÓPEZ, Victoria LÓPEZ, Victoria

2010 Introducción a Android (117 páginas). (Consulta: 25 de enero 2015) España: Grupo Tecnología CM (Universidad Complutense de Madrid) Recuperado de:

http://pendientedemigracion.ucm.es/info/tecnomovil/documentos/android.pdf

Complementaría Complementaría

MENG LEE, Wei MENG LEE, Wei

2013 Android Application Development Cookbook (385 pages). Indianápolis, Indiana EEUU: John Wiley & Sons, Inc. MENG LEE, Wei

MENG LEE, Wei

2012 Beginning Android™ 4 Application Development.

DESARROLLO

DESARROLLO DE DE APLICACIONES APLICACIONES MÓVILES MÓVILES I I 160160

2010 Beginning Android 4.

United States of America: Apress Inc. GARGENTA, Marco

GARGENTA, Marco

2011 Learning Android Building applications for be Android Market.

United States of America: O’Reilly Media,Inc. RETO, Meir RETO (2012)

RETO, Meir RETO (2012).

2012 Android™ 4 Application Development.

Documento similar