Este curso desde cero a avanzado sobre desarrollo de aplicaciones para android con Kotlin está explicado desde el inicio como para seres humanos.
¿Has intentado alguna vez aprender a programar apps para Android y te ha resultado un camino lleno de obstáculos? Te entiendo. Por eso hice este curso explicando todo de forma sencilla y en un orden que permita asimilar los conceptos con claridad.
Todos los temas se explican con ejemplos, para que veas la aplicación real de cualquier elemento en un proyecto profesional que exista de verdad, no solo como modelo para unas clases.
¿Qué aprenderás en este curso?
- El lenguaje Kotlin: verás su sintaxis y características desde los conceptos básicos hasta los avanzados
- Programación Orientada a Objetos: veremos también de qué manera se implementan en kotlin las clases, encapsulamiento, herencia, polimorfismo, clases abstractas, interfaces, subclases, objetos anonimos, data class, enum class…
- Atajos para Android Studio: esta es una de mis partes favoritas que hacen diferente este curso, verás una enorme cantidad de atajos de teclado que llevarán a otro nivel tu eficacia al programar.
- Cómo usar el debugger: además también veremos como usar el debugger en detalle con todas sus posibles formas de recorrido por las líneas así como los observadores
- Componentes de un Proyecto: te explicaré todos los archivos que componen un proyecto en android y cómo están organizados así como la función de cada uno de ellos, desde el gradle hasta el código fuente y los recursos asociados, así como el manifiest
- Componentes de una App: aquí aprenderás qué son y cómo se usan cada uno de los pilares de una app (activity, fragment, view, viewGroups, service, broadcast receiver, intent, content provider, widget y animaciones)
- Cómo hacer código ordenado y limpio
EL OBJETIVO DEL CURSO
Por favor, mira el video de introducción. Ahí verás una app real, desarrollada íntegramente por mí. El objetivo del curso es mostrarte desde las bases cómo llegar a programar apps como esa. Y eso se mostrará paso a paso en el curso a través de las secciones que se irán añadiendo. Pero para tu garantía puedes comprobar que la app ya está creada, solo queda subir el proceso de desarrollo.
¿Qué tiene la app del proyecto que desarrollaremos en este curso?
- Diseño de Interfaces
- UX
- Control de usuarios, con inicios de sesión mediante el sistema tradicional de email además de los servicios de Google y Facebook
- Verificación y petición de permisos de internet, escritura y lectura en memoria, camara, bateria, geolocalización, etc
- Creación de menú personalizado
- Datos propios de los perfiles de usuarios
- Shared Preferences
- Lectura, escritura y actualizado de datos en la Base de Datos de Firebase
- Guardado y recuperacion de archivos en la Base de Datos de Firebase Storage
- Geolocalización y administración de mapas con captura de la ubicación actual, guardado y reproducción de la ruta
- Control de cámara con código personalizado
- Notificaciones
- Reproducción de música parametrizando el track y el volumen
- Creación de widgets
- Control sobre el estado del hardware del dispositivo
- Animaciones
- Compartir archivos por redes sociales
- Integración de componentes desde librerías de terceros
- Control de Cronómetro
- y mucho más!!!!!
Te animo a que veas cualquiera de las clases que estén accesibles antes de comprar el curso y seguro que desearás ver el resto del curso
¿Verdad que es genial? Pues lo mejor de todo es que está a tu alcance.
Compra el curso y disfruta de todo lo que te está esperando.
Nos vemos!
José Javier Villena
Introducción
Introducción al curso
En este video te explico cómo está estructurado el curso así como consejos sobre Udemy
Algunos consejos para disfrutar más de la experiencia del curso
En este video veremos cómo instalar la herramienta de desarrollo Android Studio así como la configuración de un teléfono virtual donde podemos emular el desarrollo que hagamos
Si hay algun concepto en las explicaciones que no haya sido explicado en los videos, puedes preguntarlo y añadire su explicación a este glosario. De ese modo podemos estar seguros de que todo todo todo queda explicado, para que nadie tenga ninguna duda por pequeña que sea sobre algun término en concreto
Introducción a Kotlin
En esta clase te mostraré el uso que se le llegan a dar en aplicaciones profesionales a los conceptos que analizaremos a continuación
En esta clase te explicaré las variables, valores y constantes así como características particulares de cada una de ellas
En esta clase te explicaré los principales diferentes tipos de datos en kotlin y los ámbitos que tiene una variable
Explicación detallada de la relacion entre el tipo de dato que se declara, la memoria que se reserva y el valor que puede almacenar como consecuencia
En esta clase te explicaré los operadores de cálculo en kotlin a través de diferentes ejemplos
En esta clase te mostraré el uso que se le llegan a dar en aplicaciones profesionales a los conceptos que analizaremos a continuación
En esta clase te explicaré operadores de comparación a través de varios ejemplos
En esta clase te explicaré las estructuras condicionales if y else
En esta clase te explicaré la estructura condicional when
En esta clase te explicaré los operadores lógicos en kotlin a través de varios ejemplos
Descargar el PDF que te proporciono como recurso en este punto del curso para que tengas informacion muy muy interesante sobre el tema que acabamos de considerar
En esta clase te explicaré el bucle do-while y algunas características que lo hacen diferente
En esta clase te explicaré la importancia de la instrucción break
En esta clase verás lo importante que es el uso de programar modularmente en aplicaciones reales
En esta clase te explicaré la sintaxis de las funciones en kotlin para que sepas modularizar el código
En esta clase te explicaré cómo son las funciones con parámetros y los detalles que debes tener en cuenta
En esta clase te explicaré las funciones que retornan datos y su modo de uso
Descargar el PDF que te proporciono como recurso en este punto del curso para que tengas informacion muy muy interesante sobre el tema que acabamos de considerar
En esta clase te mostraré el uso que se le llegan a dar en aplicaciones profesionales a los conceptos que analizaremos a continuación
En esta clase te explicaré qué son los arrays y como se implementan en código en kotlin
En esta clase te explicaré qué son las matrices y como manejarlas en kotlin a través de un ejemplo
En esta clase te explicaré el uso del importantísimo bucle for asi como algunas diferentes estructuras que éste soporta
En esta clase te explicaré cómo implementar un bucle for dentro de otro bucle for a través de un ejemplo
En esta clase te explicaré las colecciones set y sus particularidades que la diferencian de otras colecciones
En esta clase te explicaré la version mutable de la coleccion set
En esta clase te explicaré las colecciones list y su version mutable y sus particularidades que la diferencian de otras colecciones
En esta clase te explicaré las colecciones map y sus particularidades que la diferencian de otras colecciones
En esta clase te explicaré la version mutable de la coleccion map
En esta clase te explicaré como usar el bucle while y su diferencia con respecto al bucle do-while a través de un ejemplo en el que combinaremos varios de los conceptos vistos en esta sección de introducción
En esta clase te explicaré los valores nulos y como manejar de forma segura el codigo en estos casos para evitar errores tanto en tiempo de compilación como en tiempo de ejecución
Código de la sección
Programación Orientada a Objetos (de cero a avanzado)
En esta clase te mostraré el uso que se le llegan a dar en aplicaciones profesionales a los conceptos que analizaremos a continuación
En esta clase te explicaré el concepto de abstración así como qué son los objetos para que puedas trasladar a código cualquier representación que tu desees
En esta clase te explicaré los 2 pilares de cada objeto
En esta clase te explicaré qué 2 formas hay de construir un objeto
En esta clase te explicaré cómo administrar la construcción de un objeto y sus valores asociados
En esta clase te explicaré qué es el encapsulamiento y por qué es importante usarlo
En esta clase te explicaré cómo hacer un buen uso de los atributos de un objeto
En esta clase veremos cómo implementar en el proyecto que vamos a desarrollar los conceptos analizados hasta ahora
En esta clase te explicaré qué es la herencia y por qué es tan importante
En esta clase te explicaré con un ejemplo sencillo la manera de implementar herencia en código entre 2 clases
En esta clase te explicaré la forma de gestionar la herencia de atributos y métodos con protected, private e internal por contraposición a public
En esta clase veremos plasmado en la aplicación que desarrollamos en paralelo los conceptos expuestos hasta el momento
En esta clase te explicaré qué es el polimorfismo y por qué es importante
En esta clase te explicaré cómo plasmar en código el concepto de polimorfismo y el uso de la palabra override
En esta clase te explicaré de qué manera las funciones pueden aceptar parametros de diferentes tipos de clases
En esta clase te explicaré como usar la palabra super aplicado al polimorfismo
En esta clase te explicaré qué son las clases abstractas, cuál es el uso correcto que hay que darles y por qué son tan importantes
En esta clase te explicaré qué son las interfaces, sus características particulares para que las diferencies de las clases abstractas y la importancia que tienen al simular herencia múltiple
En esta clase te explicaré cómo utilizar objetos dentro de una clase
En esta clase te explicaré subclases (clases anidadas y clases internas)
En esta clase te explicaré los objetos anónimos, su modo de implementacion y situaciones en las que tiene sentido usarse
En esta clase te explicaré los data clases y cómo usarlos
En esta clase te explicaré en detalle los enum class y sus diferentes características
Conclusión del curso
Kotlin Avanzado
En esta clase veremos qué son las funciones de extensión y las ventajas que éstas presentan para hacer más completo nuestro código
En esta clase veremos qué son las funciones de Orden Superior y la forma en la que Kotlin implementa características de la programación funcional
En esta clase veremos como aplicar funciones de orden superior en objetos
En esta clase veremos qué son las lambdas y cómo implementarlas en código
En esta clase veremos con un ejemplo aplicado la forma en la que puede evolucionar el código de una lambda hasta optimizarlo al punto habitual de uso
En esta clase veremos que una lambda puede acceder a una variable externa a su bloque de código
En esta clase veremos qué son los typealias, cómo usarlos y sus ventajas
En esta clase veremos diferentes modos de implementar desestructuración para almacenar en variables los componentes de estructuras de valores
En esta clase veremos cómo hacer código robusto que no provoque cierras abruptos de nuestra app con try catch y finnally
En esta clase veremos cómo sacar más provecho de try / catch
En esta clase veremos cómo usar throw y generar nuestras clases de Excepcionts personalizadas
En esta clase veremos varios tipos de funciones de alcance y sus características propias
En esta clase veremos qué es y cómo funciona el operador Elvis
En esta clase veremos el funcionamiento completo de lateinit así como la opcion lazy y casos de uso
Aquí tienes el código usando durante las clases de esta sección
Cómo exprimir Android Studio
En esta clase te explico la gran importancia de saber aprovechar al máximo la herramienta Android Studio
En esta clase veremos atajos de teclado para hacer búsquedas
En esta clase veremos varios atajos de teclado para la edición de código
En esta clase veremos varios atajos de teclado para la edición de código
En esta clase veremos en qué casos y porqué debes saber usar el Depurador
En esta clase veremos paso a paso como usar el depurador con puntos de interrupción, analisis de linea, saltos de linea, observadores, etc
Cómo actualizar el propio IDE de Android Studio
Cómo actualizar el plugin de kotlin
Cómo actualizar el importante plugin de Gradle
Un sencillo consejo sobre la actualización de plugins
Componentes de un Proyecto
En esta clase te muestro los diferentes tipos de visualizar la estructura de un proyecto android y su comparativa con los directorios reales, así como la forma de acceder a ellos y editarlos alternativamente
En esta clase te muestro los diferentes archivos de gradle y los 2 principales que configuran el proyecto y el modulo, así como la relevancia que tiene el uso de ellos para integrar diferentes componentes en la app
En esta clase te muestro el archivo manifest y todas las características que puede especificar éste
En esta clase te muestro los archivos de código Kotlin organizados en las carpetas Java, así como consejos sobre cómo sacar provecho de las ayudas de edición que ofrece Android Studio
En esta clase te muestro los diferentes recursos que puede tener una app y las características que les hacen diferentes unos de otros, así como la importancia de usar esos recursos correctamente (strings y colors) y tenerlos todos ordenados y la diferencia entre los directorios y la forma de mostrarlos en Android Studio
Aclaración sobre la diferencia entre ambos directorios
Cómo añadir fuentes a nuestro proyecto para personalizar la app