Especialidad formativa
Android mobile developer
Qué aprenderás
Desarrollar aplicaciones móviles en lenguaje Android.
Contenido del curso
01
Programación orientada a objetos en Java
- OBJETIVO
- Dominar los fundamentos del desarrollo orientado a objetos y desarrollar aplicaciones usando el lenguaje de programación Java.
- CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
- Identificación de los fundamentos de la programación orientada a objetos.
- Inmersión a la programación orientada a objetos: clases, objetos, métodos y variables de instancia. Constructores de clases.
- Modificadores de clase (public, private, static...) y composición de clases.
- Inmersión a las estructuras de datos: enumerados, listas y hashmaps.
- Uso de packages y manejo de excepciones.
- Identificación de los conceptos básicos del lenguaje Java así como de las herramientas para desarrollar y ejecutar un programa escrito en este lenguaje.
- Inmersión a la tecnología Java: estructuras de control de flujo, métodos y funciones.
- Instalación de un entorno de desarrollo Java, compilado y ejecución de programas Java y debugging del código.
- Distinción de los entornos, fases y herramientas necesarias para realizar proyectos Java y web.
- Identificación de los factores clave de un problema.
- Planificación y gestión del ciclo de vida de una aplicación.
- Elección de un programa Java a partir de los recursos disponibles para solucionar un problema.
- Aplicación de aspectos avanzados de programación orientada a objetos.
- Herencia de clases y el polimorfismo.
- Diseño de una estructura jerárquica de clases incluyendo clases abstractas y finales.
- Definición de interfaces de clases.
- Interpretación de la información de archivos locales en sistemas remotos a través de conexiones web y en bases de datos.
- Lectura y escritura de archivos, formatos de ficheros (JSON, XML) y adaptadores.
- Fundamentos de páginas web, servicios web y APIs. Conexión a servicios web desde Java.
- Fundamentos de bases de datos. Conexión y uso de bases de datos desde Java.
- Gestión e integración de la información de diferentes fuentes de datos.
- Adquisición de buenas prácticas de programación y de revisión de código, uso de sistemas de controles de versiones y metodologías de trabajo ágiles.
- Buenas prácticas de desarrollo Java.
- Desarrollo de proyectos en entornos colaborativos de forma coordinada.
- Sistemas de control de versiones (Github o similares).
- Fundamentos de metodologías de programación ágiles.
- Generación de documentos técnicos para los usuarios de la aplicación.
- HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
- Capacidad para analizar los factores relevantes de un problema usando el paradigma de programación orientada a objetos.
- Autonomía para planificar, diseñar y programar los componentes de un proyecto orientado a objetos usando tecnologías Java y web.
- Coordinación y planificación de proyectos en equipo con el uso de las herramientas para controlar las tareas de desarrollo y la evolución del código.
02
Fundamentos de Android
- OBJETIVO
- Interpretar la estructura básica de una aplicación Android y diseñar interfaces de usuario en dispositivos Android.
- CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
- Distinción de la estructura básica de una aplicación Android, el entorno de programación y las herramientas para desarrollar aplicaciones.
- Arquitectura de un proyecto.
- Android Studio, SDK, emuladores.
- Componentes de un proyecto: manifiesto, ficheros de código y recursos.
- Actividades. El ciclo de vida de una actividad.
- Diseño de interfaces de usuario en dispositivos Android.
- Color y percepción. Principios básicos de diseño.
- Diseño de interfaces para dispositivos móviles: Limitaciones, uso del espacio, interacciones, interrupciones.
- Modelo-Vista-Controlador.
- Elementos de interfaz básicos en Android: Layouts, Fragmentos.
- CardView y Recycler View.
- Creación de diálogos y Splash screens.
- Navegación entre actividades.
- Gestión del acceso y la persistencia de datos en Android.
- Ficheros de preferencias.
- Acceso a dispositivos externos (USB).
- Exploración de ficheros con Android Studio.
- Acceso a bases de datos.
- Acceso a servicios web.
- Programación de una aplicación Android compleja.
- Intentos y filtros.
- Notificaciones internas.
- Uso de servicios de Geolocalización.
- Programación de tareas asíncronas.
- Interpretación del proceso de publicación de una aplicación y dominio de los fundamentos de técnicas de monetización de aplicaciones.
- Usabilidad: concepto, estudios de usabilidad.
- Tiendas de aplicaciones.
- Google Play.
- Preparación de la aplicación para la publicación.
- Formas de monetización de aplicaciones.
- Gestión de la tienda.
- HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
- Capacidad para analizar los factores relevantes de un problema y para proponer una solución mediante el diseño de una aplicación móvil para sistemas Android.
- Autonomía para diseñar la arquitectura de una aplicación Android y para avanzar en las diferentes fases de su desarrollo usando el lenguaje Java.
- Coordinación de proyectos en equipo utilizando las herramientas adecuadas desde la conceptualización de la aplicación Android, su desarrollo y hasta la publicación.
- Actitud proactiva y de mejora continua para adaptarse a las continuas evoluciones del sistema Android.
03
Android avanzado
- OBJETIVO
- Distinguir los fundamentos de la programación en Android y las diferencias con Java, aplicar vistas avanzadas para la creación de interfaces e identificar el conjunto de librerías, herramientas y guías de Android Jetpack.
- CONOCIMIENTOS / CAPACIDADES COGNITIVAS Y PRÁCTICAS
- Distinción de los fundamentos de la programación en Android usando el lenguaje Kotlin y sus diferencias con el desarrollo en Java.
- Fundamentos de Kotlin: Colecciones, Creación de clases.
- Lambdas y programación funcional.
- Kotlin Coroutines.
- Aplicación de algunas vistas avanzadas para la creación de interfaces.
- Animaciones (transiciones entre pantallas y animaciones de una vista).
- WebView.
- Material Design.
- Conexión de una aplicación con un servidor remoto de back-end para enviar notificaciones y almacenar datos en bases de datos NoSQL.
- Conexión con back-end y notificaciones remotas.
- Firebase.
- Configuración de la aplicación y del servidor.
- Almacenamiento y sincronización de datos.
- Seguridad de datos.
- Identificación del conjunto de librerías, herramientas y guías de Android Jetpack.
- Android Jetpack.
- Componentes de Foundation, Arquitectura, Comportamiento y Componentes de IU: Lifecycle, Fragmentos, Notificaciones, Permisos.
- Creación de un desarrollo utilizando programación reactiva a través de datos observables.
- Reactive programming.
- El patrón Observer.
- RxJava.
- Observar eventos.
- Análisis de arquitecturas avanzadas de desarrollo Android como MVP o MVVM.
- Modelo View Presenter.
- Modelo View ViewModel.
- Situación de los fundamentos de desarrollo móvil en otras plataformas.
- La plataforma iOS.
- Desarrollos móviles multiplataforma.
- HABILIDADES DE GESTIÓN, PERSONALES Y SOCIALES
- Capacidad para identificar, analizar y diseñar proyectos de desarrollo móvil que requieran el uso de componentes o integraciones avanzadas.
- Autonomía para diseñar la arquitectura de una aplicación Android, y para avanzar en las diferentes fases de su desarrollo usando el lenguaje Kotlin.
- Coordinación de proyectos móviles multiplataforma en equipo con el uso de las herramientas adecuadas de desarrollo en Android avanzado e integración con sistemas de otras plataformas móviles.
- Trasladar el valor añadido de la tecnología móvil a los procesos de desarrollo e innovación en empresas y organizaciones.
Especialidad formativa