Categoría: Business & Tech | Tecnología


Curso: Programar patrones de diseño para Android

141 lecciones - | Creado por: Juan Gabriel Gomila Salas

Suscríbete para tener acceso ilimitado a toda la formación

Regala este curso

Comparte este curso:

Descripción del curso

Requisitos:

  • Sería recomendable estar familiarizado con la programación en Java, aunque durante el curso se proporcionará material complementario para poder tener un nivel adecuado de programación
  • Usaremos Java 8, Android Studio 2.3 y Android O, de modo que sería recomendable haber llevado a cabo el curso Crea tus apps para Android N: de cero a experto de Juan Gabriel o otro similar.


Descripción:


Bienvenido al curso de Aprende a programar usando patrones de diseño para Android. Tal vez hayas hecho ya algún curso de programación de Android conmigo, o con algún otro instructor y hayas aprendido muchas cosas nuevas: layouts, estilos, temas, procesamiento de ficheros, llamadas a servidores... Eso está muy bien. Pero ahora, te llegan tus primeros clientes, quieres empezar a construir una app y a ganar dinero con las técnicas aprendidas y te das cuenta de que... no sabes por donde empezar. 


En efecto. Esto me pasó a mi (y me ha pasado muchos años) hasta que he aprendido a hacer las cosas bien y a pensar en qué patrones de diseño me conviene utilizar para que cada vez que quiera añadir o modificar algo en mi app, no me vea envuelto en una odisea de cambio de código... Los patrones de diseño definen una forma de trabajo, unas directrices que pueden seguirse o no, y la verdad en muchos casos hacen que el código sea más legible, se pueda trabajar mejor y con un lenguaje común para el resto de desarrolladores. Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software. Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.


En particular, en este curso quiero enseñarte a utilizar en un caso de uso muy concreto los siguientes patrones de diseño haciendo uso de Java y en una app para Android enfocada a un negocio local de una ciudad imaginaria:

  • Patrón de la factoría. Consiste en utilizar una clase constructora (al estilo del Abstract Factory) abstracta con unos cuantos métodos definidos y otro(s) abstracto(s): el dedicado a la construcción de objetos de un subtipo de un tipo determinado. 
  • Patrones creacionales. Corresponden a patrones de diseño de software que solucionan problemas de creación de instancias. Nos ayudan a encapsular y abstraer dicha creación.
    • Builder: abstrae el proceso de creación de un objeto complejo, centralizando dicho proceso en un único punto.
  • Patrones materiales. Una aplicación debe ser fácil de usar, usable e intuitiva para tener garantías de éxito. Revisaremos las directrices de Google para saber diseñar materiales gráficos de forma correcta.
    • Síngleton: garantiza la existencia de una única instancia para una clase y la creación de un mecanismo de acceso global a dicha instancia. Restringe la instanciación de una clase o valor de un tipo a un solo objeto.
    • Patrones de Layout. Los XML y layouts conforman una de las formas de representar objetos y actividades. Veremos algunos patrones de diseño para gestionar la versatilidad de interfaces y dispositivos de una app
      • Strategy: Permite disponer de varios métodos para resolver un problema y elegir cuál utilizar en tiempo de ejecución.
    • Patrones estructurales. Son los patrones de diseño software que solucionan problemas de composición (agregación) de clases y objetos
      • Bridge: Desacopla una abstracción de su implementación.
      • Facade: Provee de una interfaz unificada simple para acceder a una interfaz o grupo de interfaces de un subsistema.
      • Adapter o Wrapper: Adapta una interfaz para que pueda ser utilizada por una clase que de otro modo no podría utilizarla
      • Decorator: Añade funcionalidad a una clase dinámicamente.
    • Patrones de activación. Tan importante es lo que el usuario ve así como interactúa con la app, así que veremos patrones de interactuación usuario-app.
    • Combinación y composición de patrones: los patrones de diseño por si solos son muy potentes, pero donde de verdad empiezan a ganar es cuando nos vemos capaces de combinarlos y conseguir resultados increíbles!
    • Patrón observador: no podemos estar pendientes siempre de lo que ocurre a nuestro alrededor, por eso ponemos un observador que nos notifique y nos avise de todos los posibles cambios en la app.

    Y mucho más en un curso completísimo de desarrollo de Android avanzado usando patrones de diseño y mejores prácticas de la mano del profesor Juan Gabriel Gomila, que con más de 30000 estudiantes, es uno de los instructores más demandados del mercado español y latino y combina su tarea docente en la Universidad de las Islas Baleares con su pasión por los videojuegos dando charlas por todo el mundo. 


    ¿A quién está dirigido?


    • Este curso de patrones de diseño con Android va dirigido a los principiantes con conocimientos básicos de Java y de Android
    • Alumnos del curso de introducción a Android y el curso de cero a experto de Android N que quieran aprender las técnicas de programación avanzadas del sistema operativo de Google
    • Finalmente, es un curso que explica en detalle todo lo que ocurre en cada línea de código, por tanto puede ser interesante para programadores de Android o de Java que no saben muy bien cómo funciona una actividad, una clase, una instancia, herencia...

    Programa

    Introducción

    Introducción

    Conoce a Juan Gabriel Gomila, tu instructor en Udemy

    Aprender los patrones de diseño para programar mejor

    La app que vamos a crear en el curso

    Repositorio Git con todos los proyectos del curso

    El patrón de la factoría

    Patrón #1: Factory Pattern

    El uso de las support libraries

    Interfícies y el patrón de la factoría

    Unified Modeling Language para clases de Java

    La interficie gráfica para probar nuestra factoría

    Logs, dispositivos, monitores y testing en general

    Ejercicios sobre el patrón de la factoría

    El patrón de la factorías abstracta

    Ejercicio sobre la factoría de bebidas

    ¿Qué hemos aprendido sobre el patrón de la factoría?

    Descarga los proyectos de la sección

    Los patrones creacionales

    Patrón #2: Creational Pattern

    Los temas y los estilos de una app

    El uso de las paletas de colores en una app

    Textos primarios y secundarios

    Las resoluciones en Android

    Cómo adaptar las imágenes a las resoluciones

    El widget de Card View

    La documentación y best practices de las Card Views

    El diseño de la tarjeta

    Añadiendo nuestras clases e ingredientes al proyecto

    El builder pattern

    Un ejemplo de uso del builder pattern

    ¿Qué hemos aprendido sobre las Card Views y el patrón builder?

    Descarga los proyectos de la sección

    Los patrones para crear materiales

    Patrón #3: Los patrones de diseño de materiales

    Action bar vs app bar

    Personalizando la apariencia de nuestra barra

    Acerca del tamaño de las app bars

    El menú de navegación

    Resoluciones y tamaños

    Las opciones del menú lateral

    Desplegando y interactuando con el menú

    Relaciones de aspecto en la pantalla

    Fragmentos

    El patrón del síngleton

    Diagrama UML del patrón síngleton

    ¿Qué hemos aprendido sobre buenas prácticas de diseño y el síngleton?

    Descarga los proyectos de la sección

    Los patrones de layout

    Patrón #4: Los patrones de layout

    Layouts lineales y pesos

    La gravedad de los widgets

    Ejercicio: layouts anidados y distribuciones con pesos

    Layouts relativos

    La librería percent support

    Las rotaciones de pantalla

    Layouts de pantalla grande

    Calificadores de layout

    Alias de layouts

    El patrón de la estrategia

    El diseño de los layouts

    Uniendo diseño y patrón de estrategia

    ¿Qué hemos aprendido sobre layouts y patrones de estrategia?

    Descarga los proyectos de la sección

    Listas de información y los patrones estructurales

    Patrón #5: Los patrones para estructurar información

    Generar listas con Coordinator Layouts y Recycler Views

    Distribuciones de Listas de objetos

    La gestión de los datos en nuestra app

    Traduciendo la app a varios idiomas

    El papel del Layout Manager y los Data Adapters

    El patrón adapter

    El patrón bridge

    El patrón facade

    El patrón criteria

    Un ejemplo de uso del patrón criteria

    Muchos patrones para una mejor estructura

    Descarga los proyectos de la sección

    Los patrones de activación

    Patrón #6: Los patrones de activación e interacción con el usuario

    Barras colapsantes

    Barras colapsantes al detalle

    Creando una selección de quesos con el patrón de la factoría

    La celda de los ingredientes

    El adaptador entre la recycler view y el modelo de datos

    Barras separadoras en las celdas

    Configurando el botón flotante

    El constructor de diálogos en Android

    Unos diálogos personalizados con XML

    Implementando los gestos de Swipe en nuestra Recycler View

    Los elementos del Builder Pattern

    El patrón de diseño del builder

    Combinando funcionalidades para una mejor programación

    Descarga aquí los códigos fuentes de la sección

    Combinación de patrones

    Patrón #7: Los patrones de prototipo, decoradores e híbridos

    Una idea de qué vamos a preparar

    La sucesión de Fibonacci y los números primos

    El patrón del prototipado

    El diagrama UML del patrón del prototipado

    El patrón decorador

    Decorando nuestros bocadillos

    Extendiendo nuestro decorador

    Aplicando el patrón builder para hacer un sandwich a partir de ingredientes

    Radio buttons, Check boxes y Switches para crear un bocadillo

    Creando el bocadillo a partir de los ingredientes

    Constructores vs Factorías Abstractas

    Tostando el pan con un decorador

    Uniendo interfaz y lógica del decorador

    Decidir entre diferentes patrones

    Descarga los códigos fuente de este sección del curso

    El patrón de composición

    Patrón #8: El patrón de composición

    El patrón composite

    El Composite robando ideas del Builder

    La sección de noticias con el patrón composite

    Inflando el texto y la imagen

    El compuesto imagen con texto

    El compuesto del layout

    Formateando layouts por código con nuestro composite

    La importancia de persistir la información en Android

    Ficheros estáticos en Android

    Ficheros de entrada y salida de datos

    El ciclo de vida de una app

    Las preferencias compartidas

    El truco de la primera vez que se inicia una app 08:00

    Un patrón para persistirlos a todos

    Descarga los proyectos de esta sección

    El patrón observador

    Patrón #9: El observer pattern

    Observadores, listeners y notificadores

    El patrón del observador

    El sistema de notificaciones locales en Android

    La clase observer y observable en Java

    Haciendo un buen uso de las notificaciones

    Configurando un intent

    Modificando el estilo básico de las notificaciones

    Visibilidad y prioridad en las notificaciones de Android

    Servicios y programar notificaciones para el futuro

    Notificaciones y servicios para mantenerse informados

    Descarga los proyectos de esta sección

    Los patrones de comportamiento

    Patrón #10: Los patrones de comportamiento

    El template pattern

    Implementando la plantilla

    Extendiendo nuestra plantilla

    El strategy pattern

    El visitor pattern

    Más funcionalidades al visitor pattern

    El state pattern

    Nuestros amigos, los patrones de comportamiento

    Descarga los proyectos de esta sección

    Características:

    • icono Aprende a tu ritmo Aprende a tu ritmo
    • icono Acceso a la comunidad Acceso a la comunidad
    • icono Aprendizaje colectivo Aprendizaje colectivo
    • icono Certificado colectivo Certificado acreditativo
    • icono Cualquier plataforma En cualquier plataforma

    ¿Te gusta este curso de Business & Tech?

    Descubre nuestra playlist de Business & Tech

    Ver playlist
    Uso de cookies: Utilizamos cookies propias y de terceros, para realizar el análisis de la navegación de los usuarios.
    Si continúas navegando, consideramos que aceptas su uso. Puedes cambiar la configuración u obtener más información aquí.
    [ x ]