Udemy

Platform

Español

Language

Mobile Apps

Category

Master avanzado de Android: patrones de programación

Lleva tus apps de Android a otro nivel con los patrones de diseño esenciales de la programación con Java

4.45 (271 reviews)

Students

27 hours

Content

Jan 2020

Last Update
Regular Price

SKILLSHARE
SkillShare
Unlimited access to 30 000 Premium SkillShare courses
30-DAY FREE TRIAL

What you will learn

Crear interfaces gráficas de forma visual y a través de XML para dispositivos Android

Entender las actividades principales de Android

Entender los patrones de diseño más utilizados en el mundo de la programación

Llevar el diseño de aplicaciones a otro nivel y hacer un correcto uso de las paletas y los paradigmas esenciales de diseño y usabilidad


Description

Bienvenido al curso de Aprende a programar usando patrones de diseño y programación 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. 



Screenshots

Master avanzado de Android: patrones de programación
Master avanzado de Android: patrones de programación
Master avanzado de Android: patrones de programación
Master avanzado de Android: patrones de programación

Content

Introducción

Introducción

Conoce a Juan Gabriel Gomila, tu instructor en Udemy

Comunidad de estudiantes del curso

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

¡Cuéntanos tu opinión del curso!

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

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

Bonus: Un regalo para ti

¡Enhorabuena por completar el curso!

Bonus: Un regalo para ti


Reviews

G
Gilbert22 April 2020

He aprendido bastante con este curso, y además he profundizado en cosas que pensaba que sabía pero he descubierto que nunca se deja de aprender, además cuento con el incentivo de conocer personalmente a JB, y se de primera mano que es un excelente profesor además de mejor persona.

J
Jose6 April 2020

Excelente explicación, contentenido a profundidad, y amplio conocimiento del tema. Gracias por compartir!

E
Eulogio9 December 2019

Muy buen curso. Todo lo que llevo viendo está muy bien explicado. El tutor responde rápido a las dudas que tengo. Recomendado!

F
Fabio13 October 2019

Excelente me ha gustado el curso aunque se encuentre en java, lo ideal es tenerlo en kotlin pero muy bueno.

Ó
Ósmar12 June 2019

Un excelente curso, el primero de Gabriel, un excelente instructor, se nota la experiencia y habilidad. El curso se basa en teoría de los design patterns, lo cuál es genial, ya que es lo primero lo cual debemos de conocer antes de echar mano al código. Lo único un poco negativo (para mí), ha sido algunos temas no tan importantes dada la naturaleza del tema, la mayoría de las personas que buscamos este curso lo buscamos para apoyarnos mejor en la arquitectura de las apps, eso da por supuesto que ya conocemos temas básicos que aborda en momentos este curso, por ejemplo, como usar un Collapsing Toolbar o SharedPreferences, esto hace que algunos videos sean innecesarios y alarguen mas el contenido y se pierda el foco principal del curso. Fuera de eso, estoy muy satisfecho :')

D
Didier31 May 2019

El instructor se ve que tiene mucha experiencia y conocimiento de lo que explica. A pesar de que tiene videos de 30 minutos seguidos no me cansa o fastidia, a diferencia de otros cursos que he tomado (+35) se traban, tienen errores que se nota que no son planeados y no saben que hacer. Excelente curso. Felicidades estare pendiente de cursos de android orientado a videojuegos :)

D
Di12 May 2019

Fue una buena elección tomar este curso. Hasta el momento se presenta muy interesante. Bastante fácil de comprender.

C
Christian28 March 2019

Fue una excelente experiencia este curso. Recomiendo el curso para comprender a fondo el Tema de Patrones de Diseño.

J
Juan1 March 2019

Me gusta mucho como da las clases JB, el contenido del curso me hizo aprender muchas cosas que desconocía. en pocas palabras lo recomiendo ampliamente.

M
Martin6 February 2019

Me quedó bastante claro la manera en que se llevará a cabo este curso y la manera en la que vamos a trabajar

E
Ezequiel30 January 2019

Tiene una forma de explicar facil de entender y toca muchos temas interesantes .De lo mejor que he encontrado.

C
Cristian24 December 2018

Juan Gabriel es un gran profesor, pero este curso no fue tan bueno cómo lo esperaba, si habla bastante de los patrones de diseño pero creo que se pierde mucho tiempo en elementos básicos de Android, que para este curso creo que no eran necesarios volver a ser explicado; me hubiese encantado que los ejemplos fueran aplicados a aplicaciones más complejas o por lo menos más cercanas al mundo real, con esto no digo que el curso sea malo o algo así... Pero quedé con un sin sabor, creo que se pudo haber profundizado más con otro tipo de ejemplos trabajando con Web Services.

S
Sabrina26 November 2018

Me arrepiento de haber comprado el curso. El instructor se va de tema, explica cosas que no son interesantes, no lo recomiendo.

M
Marlon24 October 2018

Bien explicado, va paso a paso, lo que evita que se pierda el hilo de o que hace, me gustaría que expliicara más en qué casos se recomienda utilizar cada patrón y en cuáles no es recomendable

W
Walter29 July 2018

Curso de android aplicando muy buenas prácticas de programación, a fondo con los nuevas características. Estoy aprendiendo mucho. Gracias.


Coupons

DateDiscountStatus
6/23/202194% OFFExpired
7/9/202194% OFFValid

1343610

Udemy ID

9/6/2017

Course created date

11/23/2019

Course Indexed date
Bot
Course Submitted by