Desarrollo de aplicaciones para dispositivos móviles Android (Básico-Intermedio)

60 Hrs.

Descripción

Este curso permite obtener habilidades para el desarrollo de aplicaciones en dispositivos móviles Android. Se usan los bloques principales para la construcción de una aplicación, interface de usuario, experiencia de usuario, almacenamiento de datos y las APIs para el acceso a los servicios de red y geo localización.

Requisitos previos

Para lograr el máximo aprovechamiento del curso, los alumnos necesitan:

  • Conocimientos de la programación orientada a objetos.
  • Conocimientos en el desarrollo de aplicaciones Java (JSE).

A quien va dirigido

Este curso se recomienda a programadores interesados en desarrollar aplicaciones basadas en dispositivos Android.

Objetivos

  • Como usar Android 4 para la construcción de aplicaciones móviles basadas en smartphones y tablets.
  • Desarrollar interface del usuario y obtener experiencia del usuario en el desarrollo de aplicaciones Android.
  • Como acceder a datos desde una aplicación Android y el uso de proveedores de contenido.
  • Codificar los bloques de construcción de una aplicación Android (Actividades, Servicios, Proveedores de contenido, broadcast receivers). Como usar los servicios de localización en Android, servicios basados en red, seguridad.

Temario

Módulo 1 – Introducción Android

  • Historia Android.
  • Consideraciones en el desarrollo de aplicaciones Android.
  • Herramientas de desarrollo de tipo cross-platform.
  • API level. Obtener estadísticos de Google Play con respecto a los dispositivos que descargan aplicaciones.

Módulo 2 – Arquitectura aplicación Android

  • Linux Kernel, libraries, application framework.
  • Dalvik virtual machine.
  • Aplicaciones Android. Android y Java.

Módulo 3 - Entorno de desarrollo, Android SDK y Eclipse

  • Instalación del ambiente de desarrollo
    • Sistemas operativos soportados, prerrequisitos.
    • Android SDK.
    • Plataformas.
    • Eclipse.
    • ADT (Android Development Tool)
    • Explorando el Android SDK (ruta de directorios)
    • Archivos importantes
      • Manifest file
      • Layout
      • Strings
      • R file
      • Class files
    • Emuladores.

Módulo 4 – Actividades y bloques de construcción

  • Introducción a los bloques de construcción de una aplicación Android
    • Actividades, servicios, proveedores de contenido, broadcast receivers.
    • Bloques de construcción y archivo manifest.
  • Actividad.
  • Ciclo de vida de una actividad.
  • Intento.
  • Ejemplo de aplicaciones que hacen uso de múltiples actividades e intentos.
  • Ciclo de vida de un servicio.
  • Contexto de una aplicación.
  • Ligando actividades usando intentos.

Módulo 5 – User Interface

  • Diferentes tipos de widgets o vistas para la construcción de una aplicación Android.
  • Contenedores
    • LinearLayout,RelativeLayout,TableLayout.
    • Padding.
    • Características y propiedades de los layouts a nivel XML.
    • Manipulación de layouts usando código Java.
  • Adaptadores
    • Características y uso de los adaptadores.
    • ArrayAdapter, CursorAdapter,SimpleAdapter.
    • Spinner, GridView.

Módulo 6 – Menús, Diálogos, ActionBar, Fragments

  • Menú de contexto.
  • Menú de opciones.
  • Creación de menus, submenús usando XML.
  • Manejo de eventos en menús.
  • Manipulación de menús con código Java.
  • Creación de ActionBar y manejo de sus propiedades y eventos usando Java.
  • Fragments
    • Introducción al manejo de fragmentos como una nueva funcionalidad en las APIs recientes.
    • Comunicación de componentes usando fragmentos.
  • Uso de Toast y Alert.

Módulo 7 – Preferencias y almacenamiento de estado

  • Introducción a los mecanismos de persistencia y almacenamiento de estado.
  • Características de SQLite.
  • Construcción de aplicaciones transaccionales usando SQLite
    • Create.
    • Read.
    • Update.
    • Delete.
  • Configurar las preferencias de una aplicación.
  • Almacenamiento de estado en archivos
    • Subsistema I/O.
    • Archivos pre empaquetados en la aplicación.
    • Archivos creados por la aplicación
      • Application private area
    • Soporte a SD card.

Módulo 8 – Proveedores de contenido

  • Usando proveedores de contenidos predefinidos
    • Imágenes, reportes de llamadas, book marks del browser.
  • Construcción de proveedores de contenido.

Módulo 9 – Depuración

  • Herramientas para depuración y detección de errores proporcionadas por Eclipse.

Módulo 10 – Seguridad y Permisos

  • Tipos de permisos que proporciona Android.
  • Registrar permisos en el archivo manifest.
  • Mecanismo de seguridad  proporcionados por el sistema operativo Android. Uso de los mecanismos de seguridad por las aplicaciones

Módulo 11 – Consumiendo Web services

  • Consumiendo  Web Browser.
  • Introducción a los Web Services.
  • Consumiendo web services de tipo SOAP.
  • Consumiendo web services de tipo RESTful.

Módulo 12 – Threads, AsyncTask

  • Introducción a las aplicaciones multithread.
  • Ejemplo de aplicación que no hace uso de un ambiente multithread y su comportamiento.
  • Pool de Threads.
  • Comunicación entre threads usando la infraestructura de mensajes.
  • Aplicaciones multithread usando AsyncTask.
  • Consideraciones para el uso de AsyncTask

Módulo 13 – Servicios basados en localizaciones

  • Servicios de geo localización.
  • Uso de las APIs de Google Maps

Módulo 14 – Introducción a las APIs multimedia

  • Desplegar imágenes.
  • Reproducir audio. 
  • Reproducir video

Módulo 15 – Servicio y Broadcasts receivers

  • Conceptos de servicio como bloque de construcción de una aplicación Android.
  • Integrando servicios como bloque de construcción de una aplicación Android y Threads.
  • Construcción de Broadcast receivers.

Módulo 16 – Alarmas y notificaciones

  • Uso de Alarmas.
  • Uso y manipulación de servicios de notificación.

Módulo 17 – APIs de telefonía

  • Integración de aplicaciones Android con servicios de telefonía.
  • Acceso a los servicios de telefonía por URI.
  • Usando los servicios de telefonía desde código Java.

Módulo 18 – APIs de contactos

  • Integración de aplicaciones Android con servicio de contactos.
  • Uso de contactos por URI. 
  • Uso de contactos por proveedor de contenido.

Módulo 19 – Deploy de la aplicación

  • Consideraciones al deployar la aplicación en dispositivos reales.
  • Diferentes tipos de deploy.
  • Consideraciones en el archivo manifest antes de realizar el deploy.
  • Certificados para la firma digital de aplicaciones.
  • Google Play. 
  • Consideraciones de las aplicaciones antes de colocarlas en Google Play