
Enlaces con soluciones a problemas populares en el desarrollo con Android Studio.
Veamos el tema principal, el objetivo y los puntos más relevantes a tratar en la sección.
Instalar Android Studio en el sistema operativo Mac OS.
Instalar Android Studio paso a paso en Windows 10.
Cómo crear una variante para obtener un segundo emulador.
Es momento de crear nuestra primera aplicación desde cero.
Como acceder a los elementos definidos en las vistas de XML, desde el lenguaje de Kotlin con FindViewById.
Configuración previa para utilizar el servicio de lectura de texto.
Hagamos que nuestro dispositivo "hable" y diga: Hello Kotlin
Construiremos algunas mejoras en nuestra vista, añadieremos nuestros primeros componentes para la entrada y salida de datos.
Configuración correcta para cambiar el idioma de nuestro asistente.
Validaciones, optimización y otro tipo de mejoras a nuestro código y experiencia de usuario.
Hagamos un breve repaso por los puntos más relevantes aprendidos durante la sección.
Creación y configuración de un nuevo proyecto para ejecutar solo Kotlin.
Comenzamos por explorar y crear nuestra primer función en Kotlin.
Cómo definir una variable y una constante, darles valor inicial y cambiarlo en tiempo de ejecución.
Declaración nula, sintaxis, así como el tipo any, que básicamente es cualquier objeto.
Primeras funciones personalizadas, vamos un paso más adelante con este tema.
Funciones con retorno de datos, distintas formas de devolver el valor.
Funciones con infix, una característica muy peculiar de Kotlin.
Sobrecarga de métodos en Kotlin, sacaremos provecho a las virtudes de este lenguaje moderno.
Pasar múltiples parámetros de forma elegante con vararg.
Recorrido de una estructura de datos con la ayuda de 2 bucles.
Sentencias de evaluación if y when(switch)
Clase extra con información relevante sobre la palabra reservada const.
Declaración de nuestra primera clase en Kotlin.
Como habilitar la herencia en Kotlin y sobrescribir sus métodos, los cuales también deben ser habilitados.
Creación de una clase especializada en el modelo de datos de Kotlin.
Otro tipo de clase, en este caso para una enumeración de elementos.
Que son y cómo pueden ayudarnos las funciones de alcance para trabajar con objetos en Kotlin.
Colecciones de solo lectura.
Listas dinámicas, con opciones de crecimiento o decremento.
Listas dinámicas en formato de diccionario, basados en clave valor.
Nuevo proyecto, en esta clase prepararemos todo para las siguientes clases.
Comenzamos con el primer contendor, LinerarLayout se especializa en diseño secuenciales, además de ello, aprovecharemos para introducir conceptos universales dentro del diseño en android.
Exploremos un poco más sobre los espaciados externos dentro del diseño nativo en android.
Ahora aprenderemos a usar un contenedor que se especializa en sobreponer elementos.
Actividad práctica para poner a prueba tus conocimientos relacionados con el diseño hasta ahora.
Comenzamos con el contenedor más potente y moderno de android.
Exploramos un poco más sobre este gran contenedor, con opciones más avanzadas de diseños.
Diseños avanzados con ConstraintLayout, responsivos y relativos.
Actividad práctica para diseñar una estructura especifica.
Contenedor especializado en diseños grandes que no pueden caber en una pantalla.
Nuevo proyecto enfocado a implementar algunos de los MDC más pupulares y que posteriormente utilizaremos en el curso con apps completas.
Barra de acciones inferior, ideal para ofrecer una usabilidad cómoda con una sola mano.
Botón enfocado a priorizar una acción dentro de nuestra interfaz actual.
Contenedor especializado en mostrar información con tarjetas.
Espaciados internos y externos de acuerdo con los lineamientos oficiales propuestos por Google.
Botones con diseños modernos y preparados para los diseños más recomendados en la actualidad.
Mejoras visuales para un correcto uso de los TextView.
Componente dedicado a visualizar imágenes en Android.
Componente diseñado para recibir texto por parte del usuario.
Campos de texto que se enfocan en ofrecer una amplia gama de posibilidades a los usuarios, tanto visualmente como de en el comportamiento.
Veamos una variante, en particular un campo de texto especializado en las contraseñas.
Componente ideal para la marcación de casillas en android.
Diseño minimalistico y elegante, muy recomendado para diseños planos y espaciosos.
Un grupo de botones que pueden funcionar de forma conjunta o separada.
Mejoras en la interfaz del usuario.
Vinculación de datos por medio del método más pupular en android, en findViewById(), además de ver las animaciones por default entre nuestro floatingActionButton y el bottomAppBar
Vincular vistas con código Kotlin, esta es la forma más moderna y recomendada hoy en día.
Mensajes modernos y potentes para android con Material Design.
Veamos como añadir eventos de click a nuestros botones, además de ocultar una vista desde Kotlin.
Mensajes para android, tipo Snackbar o Toast, recomendaciones de uso y más.
Librería para cargar una imagen directamente desde internet.
Evento de click para checkBox y manipulación de un textField desde Kotlin.
Detección de si un componente esta o no enfocado, y despachó de un evento en base a ello.
Optimizaremos nuestro código con buenas prácticas de programación.
Validar URL con las clases y métodos nativos de android y Kotlin.
Eventos y configuración a los material button toogle group.
Creación de un nuevo proyecto destinado a poder comprender todos los puntos importantes dentro del ciclo de vida de android.
Sobrescritura de métodos iniciales, hasta el primer punto de retorno.
Métodos para detenimiento, reanudación y finalización
Implementación básica de un reproductor de sonidos nativo en Android.
Recomendaciones para el correcto aprovechamiento de el ciclo de vida en android con Kotlin.
Práctica enfocada en demostrar como una aplicación android puede mantenerse pausada e ir directamente al resumen.
Creación de nueva aplicación y diseño base para el listado de elementos principal.
Definición en XML del componente llamado RecyclerView, además de su adaptador.
Definición de clase previa al adaptador. Inicialización de un adapter.
Finalización de los últimos detalles para configurar correctamente un adaptador en Kotlin.
Configuración en Kotlin para el componente RecyclerView.
En esta clase vamos a generar datos en la memoria temporal de nuestra aplicación, esto con el objetivo de poder visualizar más adelante nuestro listado.
Adición de urls a los objetos antes creados.
Es momento de configurar la carga de cada elemento en el listado, para lograr esto lo haremos desde el adapter.
Como configurar con Glide que las imágenes cargadas esten en forma circular, algo muy popular en los diseños modernos,
Creación de un método personalizado tipo get, para concatenar el nombre y apellidos de nuestro objeto.
Mejoras visuales de acuerdo con los lineamientos de Material Design, específicamente con un divisor y un resalto de texto adecuado.
Comunicar un adapter y una actividad con buenas prácticas a través de una interface de Kotlin.
Almacenamiento nativo y permanente en Android y Kotin, ahora veremos que es y como inicializar correctamente las SharedPreferences.
Para esta clase vamos a realizar un guardado de datos en nuestras preferencias, para la primer práctica, lo haremos con un boleando.
Volveremos a tomar el tema de los dialogs, pero ahora le daremos una mejora visual gracias a las librerías de Material Design.
¿Y si queremos personalizar totalmente la vista de un dialog? Vamos a ver cómo hacer eso, pero primero debemos definir esa vista.
Continuación de la correcta construcción de un Dialog en Android con Kotlin y Material Design, ahora con el fin de almacenar un dato solo si es presionado un botón de confirmación.
Mejores prácticas que nos puedes ayudar a definir un comportamiento en concreto.
Crearemos una segunda vista con unos ligeros toques que pueden ofrecernos un diseño alternativo.
Clase extra que muestra cómo generar un icono moderno y adaptativo para todas las versiones actuales de android con el asistente nativo de Android Studio 4.
Creación y configuración de un nuevo proyecto en Android Studio.
Definición en XML para el contenedor de cada elemento y también la imagen que mostrará la url de la tienda.
Ahora construiremos un espacio para el texto y un checkBox que funcionará como botón para marcar a un elemento como favorito.
Un nuevo y genial tema, ahora veremos como cambiar el aspecto de un componente, basándoos en sus estados, por ejemplo si tiene el foco, si esta siendo presionado, etc...
Diseño de la interfaz principal, con el recyclerView y un floatingActionButton.
Configuramos una vista temporal que nos ayude a agregar elementos desde el emulador y no con Kotlin.
Diseño de una inferface para comunicar la acitivity con el adapter y también la creación de la clase interna ViewHolder.
Culminación del adapter, configuración base completa.
Correcta configuración del recyclerView para mostrar un grid de 2 columnas.
Probaremos todo lo construido hasta ahora, añadiendo datos de forma temporal.
Comenzamos con SQLite, para ello, debemos conocer Room, la dependencia recomendada por Google.
Definición de una entidad, de acuerdo a la arquitectura propuesta con Room.
Data Access Object, es una interfaz donde definiremos los métodos que se transformarán en consultas para nuestra base de datos de SQLite.
Definición y acceso publico a través del patrón de diseño singleton.
Es momento de insertar nuestro primer registro en la base de datos, para esto necesitamos hacerlo en un hilo secundario.
Librería especializada en la facilitación de temas avanzados en Kotlin, por ejemplo, los subprocesos.
Ahora veremos como actualizar la información de un registro existente en nuestra tabla.
Para complementar el flujo de trabajo de un CRUD, ahora vamos a eliminar un registro de forma permanente.
Creación de nuestro primer fragmento.
Diseño inicial, incluyendo el campo de texto enfocado en recibir un nombre.
Continuamos con el diseño de la vista, ahora enfocados en el teléfono y un sitio web.
Completamos la vista del fragmento para añadir un textField y una imagen que funcione como preview.
Es momento de aprender cómo lanzar correctamente un fragmento en android.
Modificación de la barra de acciones, con el fin de adaptarse al fragmento que se lanza para crear un nuevo registro.
Control del menú desde un Fragmento.
Ahora trataremos el tema de cómo detectar que opciones fueron pulsadas en el menú.
Para completar el flujo de trabajo, es necesario volver a restaurar la barra de acciones tal y como estaba antes de lanzar el fragmento.
Insertar un nuevo registro en la base de datos con Kotlin, pero desde un Fragment.
Después de almacenar los datos, una buena práctica es ocultar el teclado para poder seguir trabajando en nuestra app, para ello, utilizaremos Kotlin y los servicios nativos de android.
Clase personalizada de tipo Interface, al igual que el adaptador, aquí podremos comunicar pantallas diferentes en tiempo real.
Mejores prácticas en el proceso de insertar un nuevo registro.
Mensaje Toast e inclusión de la librería Glide para el preview de la imagen de la tienda.
Modificar una tabla de nuestra base de datos para añadir una columna.
Instanciar y lanzar un fragmento con argumentos.
Consultar un registro basándonos en una columna.
Alimentar la vista de añadir, para rellenar todos los campos y la imagen al consultar el registro en base al id pasado por el adaptador desde la actividad.
Volvamos a tocar el tema de las extensiones en Kotlin, ahora veremos cómo manipular un String para asignarse directamente a un Editable.
Actualizar un registro completo desde el Fragment.
Sobrescritura de métodos equal and hastCode que nos ayudan a diferenciar entre un objeto y otro.
Solicitar el foco de la interfaz en caso de intentar guardar sin haber llenado algún campo requerido.
Optimizar código con las ventajas que nos ofrece kotlin.
Validar los campos de texto en tiempo real.
Configuración final para los textFields.
Cambio del título en la barra de estados para el flujo completo de trabajo de nuestra app.
Dialogo con el estilo de los Material Design Components.
Creación de un dialogo de opción múltiple y confirmación en una de sus selecciones.
Marcar un número telefónico en nuestra app dedicada a las llamadas.
Como lanzar nuestro navegador a partir de una URL.
Comprobar y notificar al usuario en caso de no poder abrir un intent con la acción requerida.
Configuración necesaria para dispositivos android con un nivel de API igual o mayor a 30.
Apliquemos mejores prácticas para la asignación de textos a nuestro Dialog de opción múltiple.
Pongamos a prueba tus conocimientos con lo aprendido sobre las buenas prácticas en los recursos de android.
Como hacer que tu app pueda adaptarse a múltiples idiomas en Android, incluso diferenciar entre regiones por idioma.
Clase extra donde veremos cómo modificar los colores principales que definen a nuestras aplicaciones.
Aprovecharemos los recursos alternos en android y mostraremos cómo modificar el número de columnas en tiempo de ejecución al rotar la pantalla de nuestro dispositivo.
Actividad práctica donde reforzamos los conocimientos antes adquiridos a la hora de generar un icono para nuestra app.
Bienvenido a nuestro curso completo de Android con Kotlin intensivo y práctico donde desde cero y sin experiencia, previa aprenderemos juntos a crear aplicaciones nativas actuales con Kotlin el lenguaje oficial para hacer apps en Android Studio.
Durante el curso tendremos ocasión de aprender muchas cosas juntos, incluyendo todo lo que necesitas para convertirte en un desarrollador Android y a utilizar como un profesional el lenguaje Kotlin. Por ello nuestro curso incluirá:
Descarga e instalación de la versión más nueva de Android Studio(Mac OS y Windows).
Sintaxis del lenguaje de programación Kotlin básico-avanzado.
Múltiples formas de declarar y mandar a llamar funciones en Kotlin.
Tipos de datos, operadores y estructuras más utilizadas en la creación de apps.
Programación Orientada a Objetos, herencia, clases, visibilidad, métodos y propiedades.
Todos los Layouts más comunes y poderosos, LinearLayout, ConstraintLayout, ScrollView, etcétera.
MDC(Material Design Components) los elementos visuales más modernos.
El ciclo de vida completo para Activity y Fragment.
Cómo navegar dentro de una app Android.
Componentes y bibliotecas basados en android Jetpack.
Creación de aplicaciones comunes con varios diseños y comportamientos.
Diseños en android, lineales o con varias columnas.
Listados modernos con ReciclerView, Adaptadores, ViewHolder.
Comunicación por medio de Interfaces personalizadas.
Carga de imágenes desde Internet.
Intents para lanzar actividades propias o de terceros.
Servicios en la nube con Firebase.
Bases de datos NoSQL con Realtime Database.
Servidor multimedia con Cloud Storage.
Autenticación segura con email/contraseña o Google.
Emulación de dispositivos android con AVD.
Eventos de click o cambios(listeners).
Fragments.
Dialogos.
Menús.
Principios de UX & UI.
Paso de argumentos entre pantallas.
Acceso y uso de la galería.
Corrutinas.
Bases de datos locales con SQLite.
Validaciones de campos o tipos de datos.
Soporte para múltiples idiomas.
Recursos para Strings, Dimensiones, Enteros, Drawables y más.
Permisos para almacenamiento o acceso a Internet.
Dependencias oficiales o recomendadas(Anko, Room, FirebaseUI, Glide).
TextToSpeach para que tus apps puedan hablar.
MVVM, el patrón de diseño más popular para android.
Comunicación a través de LiveData entre la vista y ViewModel.
Consumo de API REST( RESTful ), con parámetros en formato JSON.
Patrón de diseño Singleton.
Volley y Gson.
Firmar y publicar tus aplicaciones en la Play Store.
Consumo de Web Services con Retrofit.
Testing, pruebas unitarias e instrumentadas.
Diseño de vistas con Jetpack Compose.
Todo con Buenas Prácticas.
Con estos y otros temas, serás capaz de crear tus primeras aplicaciones de una forma más profesional, moderna, rápida y segura.
Este curso cuenta con tareas y actividades prácticas que te permitirán reforzar tus nuevas habilidades como programador, además de ello, si tienes alguna duda con los temas vistos en cualquier clase, adelante, estamos aquí para resolver todas tus preguntas.
Además, como siempre en nuestro curso tienes una garantía de devolución de tu dinero del 100% durante 30 días, por tanto si tomas el curso y no te convence, tendrás un riesgo totalmente nulo. Te esperamos en clase, así que haz click ya en el botón de tomar este curso ahora mismo y ¡¡nos vemos en clase!!