Conceptos básicos de Kotlin para Android

Al curso Conceptos básicos de Kotlin para Android lo creó el equipo de capacitación de Google Developers. En él, aprenderás conceptos de programación de Kotlin para Android y compilarás una variedad de apps.

Los materiales del curso Conceptos básicos de Kotlin para Android incluyen lo siguiente:

Requisitos previos

En este curso, se da por sentado que conoces (o puedes aprender rápidamente) el lenguaje de programación Kotlin. A fin de realizar el curso Conceptos básicos de Kotlin para Android, te recomendamos que tengas al menos dos años de experiencia en un lenguaje de programación completamente orientado a objetos, como Java, C++ o Smalltalk.

Debes estar familiarizado con todos los conceptos, las herramientas y el vocabulario que se enseñan en el curso gratuito de Udacity Capacitación de Kotlin para programadores.

También debes sentirte cómodo navegando en GitHub y estar familiarizado con los siguientes conceptos:

  • Manejo básico de excepciones y subprocesos múltiples
  • Cómo se crea, compila y ejecuta el código, en términos generales

También es útil tener una idea de qué es la programación funcional, aunque no es obligatorio.

¿Qué temas abarca el curso?

Te recomendamos que realices en secuencia los codelabs de Conceptos básicos de Kotlin para Android, aunque no es obligatorio.

Lección 1: Compila tu primera app

En la Lección 1, aprenderás a configurar Android Studio para usar Kotlin y a compilar apps. Comenzarás con "Hello World" y avanzarás hacia una app que utiliza archivos de imagen y un controlador de clics. Aprenderás cómo se estructuran los proyectos de Android, cómo usar y modificar vistas en tu app de Kotlin para Android, y cómo asegurarte de que tus apps admitan retrocompatibilidad. También aprenderás sobre los niveles de API y las bibliotecas de Android Jetpack.

Iniciar la Lección 1

Lección 2: Diseños

En la Lección 2, aprenderás a usar el editor de diseño de Android Studio para crear diseños lineales y de restricciones. Crearás apps que obtengan y muestren entradas del usuario, que respondan a los toques de los usuarios y que cambien la visibilidad y el color de las vistas. En esta lección, también se explica cómo usar la vinculación de datos para eliminar llamadas ineficientes con el método findViewById().

Iniciar la Lección 2

Lección 3: Navegación

En la lección 3, aprenderás a crear una navegación útil en una app. Crearás un fragmento, lo agregarás a una app y, por último, agregarás la navegación a la app con el gráfico de navegación de Android Studio. Agregarás un panel lateral de navegación y un menú de opciones a tu app, y trabajarás con la pila de actividades, cambiando el destino del botón Atrás del sistema. Por último, aprenderás a invocar una actividad externa desde la app.

Iniciar la Lección 3

Lección 4: Ciclos de vida de actividades y fragmentos

En la Lección 4, aprenderás sobre los ciclos de vida de las actividades y los fragmentos, y aprenderás a administrar situaciones de ciclo de vida complejas. Trabajarás con una app introductoria que contiene varios errores relacionados con el ciclo de vida de Android. Deberás agregar registros a la app para comprender mejor los eventos de ciclo de vida, corregir los errores que contiene y agregar algunas mejoras. También aprenderás sobre la biblioteca de ciclo de vida de Android Jetpack, que puede ayudarte a administrar los eventos de ciclo de vida con código mejor organizado y fácil de mantener.

Iniciar la Lección 4

Lección 5: Componentes de arquitectura

En la lección 5, aprenderás a usar los objetos ViewModel y LiveData. Aprenderás a usar objetos ViewModel para permitir que los datos sobrevivan a cambios de configuración, como las rotaciones de pantallas. Convertirás los datos de la IU de una app en objetos LiveData encapsulados y agregarás métodos de observador que reciban notificaciones cuando cambie el valor de LiveData.

También deberás integrar LiveData y ViewModel con la vinculación de datos, de modo que las vistas de tu diseño se comuniquen directamente con los objetos ViewModel, sin usar los fragmentos de la app para transmitir información. Esta técnica simplifica tu código y elimina la necesidad de controladores de clics en los controladores de IU.

Iniciar la Lección 5

Lección 6: Corrutinas y bases de datos de Room

En la lección 6, aprenderás a usar la biblioteca de base de datos de Room. Room se encarga de muchas de las tareas de ajuste y configuración de una base de datos, y simplifica el código para interactuar con ella. Aprenderás a usar las corrutinas de Kotlin para alejar las operaciones de la base de datos del subproceso principal y descubrirás cómo usar ViewModel y LiveData con la navegación de apps.

Iniciar la Lección 6

Lección 7: RecyclerView

En la lección 7, se explica cómo usar una RecyclerView para mostrar listas y cuadrículas de elementos de manera eficiente. Para cuadrículas y listas complejas, aprenderás a hacer que RecyclerView sea más eficiente y que tu código sea más fácil de mantener y extender. Aprenderás a hacer que los elementos de una RecyclerView admitan clics. También aprenderás a agregar más de un contenedor de vistas y un diseño a listas y cuadrículas en RecyclerView, por ejemplo, para agregar un encabezado a tu app.

Iniciar la Lección 7

Lección 8: Cómo conectarse a Internet

La Lección 8 te enseña a usar las bibliotecas desarrolladas por la comunidad para conectarte a un servicio web a fin de recuperar y mostrar datos. Aprenderás a manejar posibles errores de red y a usar la biblioteca Glide para cargar y mostrar fotos de Internet. También compilarás una RecyclerView y la usarás para mostrar una cuadrícula de imágenes.

Iniciar la Lección 8

Lección 9: Repositorio

En la Lección 9, se explica cómo agregar un repositorio a fin de abstraer la capa de datos y proporcionar una API limpia al resto de la app en tu app de Kotlin para Android. También aprenderás a usar WorkManager para programar tareas en segundo plano de manera eficiente y optimizada.

Iniciar la Lección 9

Lección 10: Diseño para todos

En esta lección, se explican los aspectos básicos del diseño de apps para Android. Se presentan temas y estilos, Material Design y cómo hacer que tu app sea más accesible para todos.

Iniciar la Lección 10