Este é o curso Conceitos básicos do Kotlin para Android, criado pela equipe de treinamento do Google Developers. Este curso fornece uma série de codelabs que ensinam os princípios básicos da criação de apps Android usando Kotlin. Neste curso, você vai aprender conceitos básicos de programação no Kotlin para Android e criar vários apps.
Recomendamos que você faça os codelabs em sequência, mas isso não é obrigatório.
Para conhecer outros treinamentos do Android criados pela equipe de treinamento do Google Developers, acesse Treinamento do Google Developers: Android.
Pré-requisitos
Para fazer o curso Conceitos básicos do Kotlin para Android, recomendamos que você tenha pelo menos dois anos de experiência com uma linguagem de programação completa orientada a objetos, como Java, C++ ou Smalltalk.
É necessário conhecer todos os conceitos, ferramentas e vocabulário ensinados no curso sem custo financeiro Treinamento do Kotlin para programadores (em inglês) da Udacity.
Você também precisa saber navegar no GitHub e conhecer os seguintes conceitos:
- Multithreading básica e processamento de exceções.
- Como o código é criado, compilado e executado em termos gerais.
Também é útil, mas não obrigatório, ter uma noção sobre programação funcional.
Código inicial e da solução
Ao trabalhar nos codelabs do curso Conceitos básicos do Kotlin para Android, você cria apps. O código-fonte dos apps para iniciantes e o código da solução dos apps criados por você estão no GitHub.
O curso Conceitos básicos do Kotlin para Android inclui as seguintes lições:
- Lição 1: Criar seu primeiro app
- Lição 2: Layouts
- Lição 3: Navegação
- Lição 4: Atividades e ciclos de vida de fragmentos
- Lição 5: Componentes da arquitetura
- Lição 6: Banco de dados e corrotinas do Room
- Lição 7: RecyclerView
- Lição 8: Como se conectar à Internet
- Lição 9: Repositório
- Lição 10: Como projetar para todo mundo
Cada lição contém vários codelabs.
Lição 1: criar seu primeiro app

Esta lição ensina a configurar o Android Studio para usar o Kotlin e a criar apps. Você começa com o "Hello World" e evolui até um app que usa arquivos de imagem e um gerenciador de cliques. Você vai aprender como os projetos do Android são estruturados, como usar e modificar visualizações no seu app Kotlin para Android e como garantir que seus apps sejam compatíveis com versões anteriores. Você também vai aprender sobre os níveis de API e as bibliotecas do Android Jetpack.
A lição 1 inclui os seguintes codelabs:
- 1.0 Instalar o Android Studio
- 1.1 Primeiros passos
- 1.2 Anatomia básica de um app
- 1.3 Recursos de imagem e compatibilidade
- 1.4 Aprenda a se ajudar
Lição 2: layouts

Nesta lição, você vai aprender a usar o Layout Editor do Android Studio para criar layouts lineares e restritos. Você vai criar apps que recebem e mostram entradas do usuário, respondem a toques e mudam a visibilidade e a cor das visualizações. Esta lição também ensina a usar a vinculação de dados para eliminar chamadas ineficientes para findViewById().
A lição 2 inclui os seguintes codelabs:
- 2.1 Layout linear usando o Layout Editor
- 2.2 Adicionar interatividade do usuário
- 2.3 Layout restrito usando o Layout Editor
- 2.4 Conceitos básicos da vinculação de dados
Lição 3: navegação

Nesta lição, você vai aprender a criar uma navegação útil em um app. Primeiro, você vai criar um fragmento e adicioná-lo a um app. Em seguida, vai adicionar navegação ao app usando o gráfico de navegação do Android Studio. Você adicionará uma gaveta de navegação e um menu de opções ao app e trabalhará com a backstack dele, mudando o destino do botão "Voltar" do sistema. Por fim, você vai aprender a invocar uma atividade externa usando o app.
A lição 3 inclui os seguintes codelabs:
Lição 4: Atividades e ciclos de vida de fragmentos

Nesta lição, você vai aprender sobre os ciclos de vida de atividades e fragmentos, além de saber como gerenciar situações complexas de ciclos de vida. Você vai trabalhar com um app para iniciantes que contém vários bugs relacionados ao ciclo de vida do Android. Você adiciona geração de registros ao app para entender melhor os eventos do ciclo de vida dele, corrige os bugs e adiciona melhorias. Você também aprende sobre a biblioteca de ciclo de vida do Android Jetpack, que pode ajudar a gerenciar eventos do ciclo de vida com um código mais organizado e fácil de manter.
A Lição 4 inclui os seguintes codelabs:
Lição 5: componentes da arquitetura

Esta lição ensina a usar objetos ViewModel e LiveData. Você vai aprender a usar objetos ViewModel para permitir que os dados sobrevivam a mudanças de configuração, como a rotação da tela. Você converterá os dados da interface de um app em LiveData encapsulado e adicionará métodos do observador que são notificados quando o valor do LiveData muda.
Você também integra LiveData e ViewModel à vinculação de dados para que as visualizações no seu layout se comuniquem diretamente com objetos ViewModel, sem usar os fragmentos do app para transmitir informações. Essa técnica simplifica o código e elimina a necessidade de gerenciadores de cliques nos controladores da interface.
A lição 5 inclui os seguintes codelabs:
- 5.1 ViewModel e ViewModelProvider
- 5.2: LiveData e observadores do LiveData
- 5.3: DataBinding com ViewModel e LiveData
- 5.4: transformações do LiveData
Lição 6: banco de dados e corrotinas do Room

Esta lição ensina a usar a biblioteca de banco de dados Room. O Room cuida de muitas das tarefas da configuração de um banco de dados, além de simplificar o código para interagir com ele. Você vai aprender a usar corrotinas do Kotlin para remover operações do banco de dados da linha de execução principal, além de usar ViewModel e LiveData com a navegação em apps.
A lição 6 inclui os seguintes codelabs:
- 6.1 Criar um banco de dados do Room
- 6.2 Corrotinas e Room
- 6.3 Qualidade da gravação e estados de botão
Lição 7: RecyclerView

Esta lição ensina a usar um RecyclerView para mostrar listas e grades de itens com eficiência. Para listas e grades complexas, você vai aprender a tornar o RecyclerView mais eficiente e o código mais fácil de manter e estender. Você vai aprender a tornar clicáveis os itens de um RecyclerView. Você também vai aprender a adicionar mais de um armazenador de visualização e layout a listas e grades em uma RecyclerView, por exemplo, para adicionar um cabeçalho ao app.
A lição 7 inclui os seguintes codelabs:
- 7.1 Conceitos básicos do RecyclerView
- 7.2 DiffUtil e vinculação de dados com o RecyclerView
- 7.3 GridLayout com o RecyclerView
- 7.4 Como interagir com itens do RecyclerView
- 7.5 Cabeçalhos no RecyclerView
Lição 8: Como se conectar à Internet

Esta lição ensina a usar bibliotecas desenvolvidas pela comunidade para se conectar a um serviço da Web para recuperar e exibir dados. Você vai aprender a processar possíveis erros de rede e usar a biblioteca Glide para carregar e mostrar fotos da Internet. Você também vai criar uma RecyclerView e usá-la para mostrar uma grade de imagens.
A lição 8 inclui os seguintes codelabs:
- 8.1 Como receber dados da Internet
- 8.2 Como carregar e exibir imagens da Internet
- 8.3 Como filtrar e detalhar visualizações com dados da Internet
Lição 9: repositório

Esta lição ensina a adicionar um repositório para abstrair a camada de dados e fornecer uma API limpa para o restante do app Kotlin para Android. Você também vai aprender a usar o WorkManager para programar tarefas em segundo plano de maneira eficiente e otimizada.
A lição 9 inclui os seguintes codelabs:
Lição 10: como projetar para todo mundo

Esta lição ensina os conceitos básicos do design de apps Android acessíveis e bonitos e orienta você na criação de um app que encontra e mostra informações sobre encontros do Google Developer Group (GDG).
A lição 10 inclui os seguintes codelabs:
Comece a próxima lição:
Comece o curso de fundamentos do Kotlin para Android fazendo o primeiro codelab, 1.0 Instalar o Android Studio.