Vous êtes sur la page 1sur 4

2013

Curso Avanzado de
Programación en Dispositivos
Móviles con Android

Ayudas del programa de consolidación y estructuración de


unidades de investigación competitivas: Agrupación Estratégica
Pablo Formoso CITIC (CN2012/211). Cofinanciado por:

Desarrollador Apps con Android e IOS (SoftWhisper)

Jueves y Viernes de 9:30 a 14:30, los días 4 y 5, 11 y 12, 18 y 19,


25 y 26 de Abril.
CITIC – Centro de Investigación TIC
Área de Formación
18/03/2013
Curso Avanzado de Programación en Dispositivos Móviles con
Android (40 horas)

El propósito del curso es capacitar a los asistentes para desarrollar aplicaciones profesionales
avanzadas para dispositivos móviles con Android. Enfoque eminentemente práctico y con
adaptación de los contenidos en función de las necesidades de los asistentes.

PÚBLICO OBJETIVO

Este curso está dirigido a Ingenieros informáticas e investigadores de los grupos del CITIC que
necesiten desarrollar aplicaciones para dispositivos móviles con el Sistema Operativo ANDROID.

Dado el nivel de la audiencia a la que va dirigido se tendrá en cuenta que los asistentes tendrán
como mínimo conocimientos de Java (a nivel medio/alto) o de otro lenguaje de programación
orientada a objetos (C++, C#, Obejctive-C. Ruby o similares). También se asume un nivel alto en el
uso de IDEs de desarrollo como Eclipse o Netbeans.

OBJETIVOS

 Comprensión de la estructuración del desarrollo de aplicaciones móviles en Android.


 Conocer las diferentes APIs de las que nos provee Android para crear nuestras apps.
 Comprender como funciona la MV de Android (Dalvik) para optimizar el rendimiento de
las aplicaciones.
 Como afrontar el desarrollo de una aplicación desde que nace como prototipo hasta su
publicación en el market o su
 distribución AdHoc.
 Conseguir una proporción 30/70 entre teoría y práctica.
 Cumplir con las expectativas de la audiencia.

TEMARIO

1. Instalación y preparación del entorno de desarrollo (~4 horas)


 Instalación de la SDK de Android, uso de Android Management Tool para la actualización
de las versiones de Android.
 Comprensión del ADB (Android Debug Bridge) y su papel fundamental en el desarrollo.
 Instalación y configuración de Eclipse para trabajar con Android.
 Instalación del ADT (Android Development Tools), plugin para Eclipse.
 Perspectivas de Eclipse con Android (LogCat y DDMS).
 AVD Manager y como crear dispositivos virtuales de todo tipo.
Carga principalmente teórica para afianzar los conceptos fundamentales del funcionamiento
interno de Android y su ecosistema de utilidades.
2. Estructura de las apps en Android (~6 horas)
 Diferentes estados por lo que pasa la aplicación a lo largo de se ejecución.
 Que es una Activity y su ciclo de vida dentro de una app.
 Separación entre UI y procesamiento (UIThread).
 Nuestro primer programa.
 Primer acercamiento a los principales componentes de la UI y layouts disponibles en
Android.
Parcialmente teórico. El objetivo es ir viendo los diferentes puntos de este apartado sobre la
construcción de la primera aplicación a medida que se avanza en el desarrollo agregando nuevos
componentes.

3. Intents y Fragments (~8 horas)


 Que son y para que nos valen los Intents.
 Intent Filters y Broadcast Receivers, atendiendo a los Intents.
 Principio DRY y el uso de los Fragments
 Ciclo de vida de un Fragment y sus estados.
 Uso de los Fragments dentro de las Activities.

4. Acceso a servicios web y parsing (~3 horas)


 Conexión a APIs de terceros y parseo de respuestas.
 Uso del Download Manager para descargar largas y monitorización de la actividad de red.
 Ejemplo de servicios globales. Acceso a Google App Engine.

5. Gestión de Ficheros (~3 horas)


 Almacenar información interna de la aplicación.
 Uso del contexto Shared Preferences a lo largo de la ejecución de una app.
 Guardar el estado de una aplicación con Preference Framework.
 Trabajar con el sistema de ficheros. Creación, lectura, borrado y edición de ficheros.

6. Acceso al hardware del dispositivo (~3 horas)


 Acceso al Sensor Manager.
 Introducción a los diferentes sensores.
 Uso del acelerómetro y el giroscopio.
 Uso de la cámara y el componente SurfaceView para sacar fotos o grabar vídeo.

7. Componentes multimedia (~1 horas)


• Reproducción de audio y sus estados.
• Reproducción de vídeo. Gestión del buffer y reproducción remota.

8. Geolocalización y mapas (~4 horas)


• Uso de los servicios de localización. Alertas de proximidad
• Uso de sistema de geocoding y reverse geocoding.
• Uso de los mapas en las aplicaciones.

9. Componentes avanzados (~6 horas)


• Uso de la interfaz de Bluetooth
• NFC
• Uso de WiFi Direct
10. Processing. Rapid Android Prototyping and Development. (~ 3 o 4 horas )
Se introducirá una herramienta del MIT llamada Processing (igual que el lenguaje que usa), un DSL
propio para Android creado para facilitar la creación de aplicaciones en Android de forma rápida y
que permite realizar lo que se conoce como RAD o RAP (Rapid Android Proptotyping) muy usada
en ámbitos científicos para crear sketchbooks; una vez conocidas las bases de Android resulta muy
interesante para la audiencia a la que va dirigida el curso (ahorro de tiempo para pruebas
experimentales, sintaxis del lenguaje abreviada y facilidad para portarla a un dispositivo).
Si uso principal es para experimentar en pocas líneas de código y de una forma casi inmediata
posibles soluciones para un futuro desarrollo.
Permite la exportación a un proyecto Android nativo para continuar su desarrollo para un ámbito
más refinado.

PONENTE

Pablo Formoso Estrada


Nacido en Santiago de Compostela, Galicia. Es Licenciado en Ingeniería Informática por la
Universidad Europea de Madrid. Master en dirección estratégica y gestión de la Innovación por el
Instituto Universitario de Postgrado.

Ya desde joven comenzó en el mundo de la informática y la programación, con 8/9 años empezó a
juguetear con un Commodore64 para pasar por los 286,486, etc... y con 14 años ganó un premio
en las olimpiadas gallegas de programación. A día de hoy está enfocado con todo su esfuerzo al
mundo de Ruby, Rails y aplicaciones móviles, muy enfocado a iOS y Android.

Tras terminar sus estudios y llevar ya dos años de experiencia laboral en empresas y realizando
trabajos como Freelance regresó a Galicia donde trabajó en Colabora Ingenieros durante un
periodo de más de un año. A lo largo de esos años en la universidad y en los diferentes trabajos
comenzó varios proyectos en Java y sobre todo en Ruby donde más adelante participaría en la
Euruko 2009 de Barcelona.

Socio y fundador de Softwhisper desde 2010, empresa dedicada al desarrollo de aplicaciones


para dispositivos móviles (iPhone, iPad, Android y Windows Phone) y aplicaciones web usando
Ruby on Rails.

Entre sus principales proyectos y clientes destacables: Vandal Networks, La Voz de Galicia, 20
Minutos Online, Dielectro Industrial SL, Vicom Comunicación y R Cable / Proyecto Feirón.

LUGAR

Localización del evento: Edificio CITIC- Centro de Investigación de las TIC, Campus de Elviña 15071
(A Coruña).

INSCRIPCIÓN

El curso será completamente gratuito para los investigadores. Las inscripciones se deberán
realizar antes del 2 de Abril vía e-mail a proyectos.idi@citic-research.org incluyendo el nombre y
cargo de los asistentes, grupo al que pertenecen, e-mail y teléfono de contacto