Trilha de estudo
Trilha Kotlin & Desenvolvimento Android: tudo o que estudar, tópico por tópico
Avaliacao abrangente de Kotlin e Android cobrindo fundamentos da linguagem Kotlin, programacao orientada a objetos e funcional, componentes Android e ciclo de vida, UI com Jetpack Compose, coroutines e persistencia de dados, arquitetura de aplicativos, testes e publicacao.
Resposta curta
Para aprender Kotlin & Desenvolvimento Android, percorra 6 módulos e 24 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos de Kotlin e siga para POO & Kotlin Funcional e Componentes Android. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundamentos de Kotlin4 tópicos
Variaveis & Tipos
Declaracoes val vs var, inferencia de tipos, tipos basicos (Int, Double, Boolean, String, Char), conversoes de tipo, string templates, arrays e constantes
Objetivos
- Declarar variaveis com val e var corretamente
- Compreender os fundamentos do sistema de tipos do Kotlin
Conceitos-chave
- val vs var
- inferencia de tipos
- tipos basicos (Int, Double, Boolean)
- string templates
- conversoes de tipo
- arrays
- const val
- lateinit
Fluxo de Controle
Expressoes if/else, expressoes when, lacos for, lacos while, ranges, declaracoes de desestruturacao, retornos rotulados e repeat
Objetivos
- Escrever fluxo de controle idiomatico em Kotlin
- Usar expressoes when de forma eficaz
Conceitos-chave
- if como expressao
- expressao when
- laco for com ranges
- laco while
- ranges e progressoes
- desestruturacao
- retornos rotulados
- funcao repeat
Funcoes
Declaracoes de funcoes, argumentos padrao e nomeados, funcoes de expressao unica, vararg, funcoes infix, funcoes de extensao e nocoes basicas de funcoes de ordem superior
Objetivos
- Escrever funcoes com parametros padrao e nomeados
- Criar funcoes de extensao
Conceitos-chave
- palavra-chave fun
- argumentos padrao
- argumentos nomeados
- funcoes de expressao unica
- vararg
- funcoes infix
- funcoes de extensao
- tipo de retorno Unit
Null Safety
Tipos anulaveis, operador de chamada segura (?.), operador Elvis (?:), assercao non-null (!!), funcao de escopo let para nulos, smart casts e tipos de plataforma
Objetivos
- Lidar com tipos anulaveis de forma segura
- Evitar NullPointerException usando idiomas Kotlin
Conceitos-chave
- tipos anulaveis (?)
- operador de chamada segura (?.)
- operador Elvis (?:)
- assercao non-null (!!)
- casts seguros (as?)
- let para verificacoes de nulo
- smart casts
- tipos de plataforma
2 · POO & Kotlin Funcional4 tópicos
Classes & Objetos
Declaracoes de classe, construtores primarios e secundarios, blocos init, propriedades, companion objects, declaracoes de objeto e expressoes de objeto
Objetivos
- Definir classes com construtores adequados
- Usar companion objects e singletons
Conceitos-chave
- declaracao de classe
- construtor primario
- construtor secundario
- bloco init
- propriedades (get/set)
- companion object
- declaracao de objeto (singleton)
- expressao de objeto
Heranca & Interfaces
Classes abertas, classes abstratas, interfaces, sobrescrita de metodos, delegacao (palavra-chave by), modificadores de visibilidade e implementacao de multiplas interfaces
Objetivos
- Projetar hierarquias de classes com controle de acesso adequado
- Implementar padrao de delegacao
Conceitos-chave
- palavra-chave open
- classes abstratas
- interfaces
- palavra-chave override
- delegacao (by)
- modificadores de visibilidade
- chamadas super
- implementacao de multiplas interfaces
Colecoes & Lambdas
List, Set, Map (mutaveis e imutaveis), operacoes de colecao (map, filter, reduce, flatMap, groupBy), sintaxe lambda, lambdas finais e sequencias
Objetivos
- Transformar colecoes usando operacoes funcionais
- Escolher entre avaliacao eager e lazy com sequencias
Conceitos-chave
- List/MutableList
- Set/MutableSet
- Map/MutableMap
- map/filter/reduce
- flatMap
- groupBy
- sintaxe lambda
- sequencias (avaliacao lazy)
Classes Sealed & Data Classes
Data classes (equals, hashCode, copy, componentN), classes sealed, interfaces sealed, classes enum, value classes (inline) e type aliases
Objetivos
- Modelar dados de dominio com data classes
- Usar classes sealed para hierarquias restritas
Conceitos-chave
- data class
- funcao copy
- desestruturacao (componentN)
- classe sealed
- interface sealed
- classe enum
- value class (@JvmInline)
- type aliases
3 · Componentes Android4 tópicos
Activities & Fragments
Classe Activity, classe Fragment, FragmentManager, transacoes de Fragment, comunicacao entre activity e fragment, pilha de retorno e mudancas de configuracao
Objetivos
- Implementar Activities e Fragments corretamente
- Lidar com mudancas de configuracao e preservacao de estado
Conceitos-chave
- classe Activity
- classe Fragment
- FragmentManager
- transacoes de fragment
- comunicacao activity-fragment
- pilha de retorno
- mudancas de configuracao
- savedInstanceState
Intents & Navegacao
Intents explicitos e implicitos, filtros de intent, PendingIntent, deep links, componente Navigation, NavGraph e Safe Args
Objetivos
- Navegar entre telas usando intents e componente Navigation
- Implementar deep linking
Conceitos-chave
- intents explicitos
- intents implicitos
- filtros de intent
- PendingIntent
- deep links
- componente Navigation
- NavGraph
- Safe Args
Views & Layouts
Hierarquia de views, ConstraintLayout, RecyclerView, ViewBinding, views customizadas, layouts XML, componentes Material Design e acessibilidade
Objetivos
- Construir layouts responsivos com ConstraintLayout
- Implementar listas eficientes com RecyclerView
Conceitos-chave
- hierarquia de views
- ConstraintLayout
- RecyclerView e Adapter
- ViewBinding
- views customizadas
- layouts XML
- componentes Material Design
- acessibilidade (contentDescription)
Ciclo de Vida
Callbacks do ciclo de vida da Activity, ciclo de vida do Fragment, LifecycleOwner, LifecycleObserver, ViewModel, LiveData, componentes cientes do ciclo de vida
Objetivos
- Gerenciar o ciclo de vida dos componentes corretamente
- Usar componentes cientes do ciclo de vida para evitar vazamentos de memoria
Conceitos-chave
- onCreate/onStart/onResume
- onPause/onStop/onDestroy
- ciclo de vida do Fragment
- LifecycleOwner
- LifecycleObserver
- ViewModel
- LiveData
- componentes cientes do ciclo de vida
4 · Jetpack Compose4 tópicos
Fundamentos do Compose
Funcoes composable, anotacao @Composable, modificadores, layouts (Row, Column, Box), Text, Button, Image, LazyColumn e previews do Compose
Objetivos
- Construir UI com funcoes composable
- Compreender recomposicao e quando ela e acionada
Conceitos-chave
- anotacao @Composable
- cadeia de Modifier
- layouts Row/Column/Box
- composables Text e Button
- LazyColumn/LazyRow
- composable Image
- anotacao @Preview
- fundamentos de recomposicao
Gerenciamento de Estado no Compose
remember, mutableStateOf, rememberSaveable, state hoisting, derivedStateOf, snapshotFlow, efeitos colaterais (LaunchedEffect, DisposableEffect)
Objetivos
- Gerenciar estado corretamente no Compose
- Aplicar state hoisting para composables reutilizaveis
Conceitos-chave
- remember
- mutableStateOf
- rememberSaveable
- state hoisting
- derivedStateOf
- snapshotFlow
- LaunchedEffect
- DisposableEffect
Navegacao no Compose
NavHost, NavController, rotas de navegacao, passagem de argumentos, grafos de navegacao aninhados, deep links no Compose e navegacao type-safe
Objetivos
- Implementar navegacao em apps Compose
- Passar argumentos entre destinos composable
Conceitos-chave
- composable NavHost
- NavController
- rotas de navegacao (strings)
- passagem de argumentos
- grafos de navegacao aninhados
- deep links no Compose
- navegacao type-safe
- gerenciamento da pilha de retorno
Tematizacao & Estilizacao no Compose
MaterialTheme, temas customizados, esquemas de cores, tipografia, formas, suporte a modo escuro, cores dinamicas (Material You) e design systems customizados
Objetivos
- Criar temas consistentes com MaterialTheme
- Suportar modo escuro e cores dinamicas
Conceitos-chave
- composable MaterialTheme
- esquemas de cores customizados
- definicoes de tipografia
- definicoes de formas
- modo escuro (isSystemInDarkTheme)
- cores dinamicas (Material You)
- CompositionLocal
- design system customizado
5 · Coroutines & Dados4 tópicos
Fundamentos de Coroutines
CoroutineScope, launch, async/await, Dispatchers (Main, IO, Default), concorrencia estruturada, Job, SupervisorJob e cancelamento de coroutines
Objetivos
- Escrever coroutines com concorrencia estruturada adequada
- Escolher o Dispatcher correto para cada tarefa
Conceitos-chave
- CoroutineScope
- builder launch
- async/await
- Dispatchers (Main, IO, Default)
- concorrencia estruturada
- Job e SupervisorJob
- cancelamento de coroutines
- withContext
Kotlin Flow
Builders de Flow (flow, flowOf, asFlow), operadores de flow (map, filter, transform), StateFlow, SharedFlow, collect, conflate, buffer e flowOn
Objetivos
- Construir fluxos de dados reativos com Flow
- Escolher entre StateFlow e SharedFlow
Conceitos-chave
- builders de Flow
- operadores de flow (map, filter)
- StateFlow
- SharedFlow
- operador terminal collect
- conflate e buffer
- flowOn (troca de contexto)
- callbackFlow
Banco de Dados Room
Entidades Room, DAOs, classe de banco de dados, conversores de tipo, migracoes, relacionamentos (um-para-muitos, muitos-para-muitos), integracao com Flow e testes com Room
Objetivos
- Projetar esquema de banco de dados Room com entidades e DAOs
- Lidar com migracoes de banco de dados com seguranca
Conceitos-chave
- anotacao @Entity
- anotacao @Dao
- anotacao @Database
- conversores de tipo
- migracoes
- relacionamentos (@Relation)
- tipos de retorno Flow no DAO
- banco de dados em memoria para testes
Retrofit & Networking
Configuracao do Retrofit, definicoes de interface API, funcoes suspend no Retrofit, interceptores OkHttp, serializacao (Gson/Moshi/kotlinx.serialization) e tratamento de erros
Objetivos
- Configurar Retrofit com serializacao adequada
- Tratar erros de rede de forma elegante
Conceitos-chave
- builder do Retrofit
- interface API com anotacoes
- funcoes suspend no Retrofit
- interceptores OkHttp
- Gson/Moshi/kotlinx.serialization
- tratamento de erros (wrapper Response)
- interceptor de logging
- certificate pinning
6 · Android Avancado4 tópicos
Arquitetura de Aplicativos
Padrao MVVM, Clean Architecture, injecao de dependencia (Hilt/Koin), padrao Repository, Use Cases, fluxo de dados unidirecional e modularizacao
Objetivos
- Projetar arquitetura de app escalavel com MVVM e Clean Architecture
- Implementar injecao de dependencia com Hilt
Conceitos-chave
- padrao MVVM
- camadas da Clean Architecture
- injecao de dependencia (Hilt)
- padrao Repository
- Use Cases / Interactors
- fluxo de dados unidirecional (UDF)
- modularizacao
- arquitetura de activity unica
Testes
Testes JUnit, MockK/Mockito, testes de Compose (ComposeTestRule), Espresso, Robolectric, test doubles, testes de coroutines e estrategias de testes de UI
Objetivos
- Escrever testes unitarios e de integracao para apps Android
- Testar UI do Compose com ComposeTestRule
Conceitos-chave
- JUnit 4/5
- biblioteca de mocking MockK
- ComposeTestRule
- testes de UI com Espresso
- Robolectric
- test doubles (fake, stub, mock)
- testes de coroutines (runTest)
- estrategias de cobertura de testes
Otimizacao de Desempenho
Deteccao de vazamento de memoria (LeakCanary), profiling com Android Studio Profiler, Baseline Profiles, R8/ProGuard, inicializacao lazy, carregamento de imagens (Coil/Glide) e prevencao de ANR
Objetivos
- Realizar profiling e otimizar desempenho de apps Android
- Prevenir vazamentos de memoria e ANRs
Conceitos-chave
- LeakCanary
- Android Studio Profiler
- Baseline Profiles
- otimizacao R8/ProGuard
- inicializacao lazy
- carregamento de imagens (Coil/Glide)
- prevencao de ANR
- desempenho do Compose (estabilidade)
Publicacao de Apps
Assinatura de app, publicacao na Play Store, variantes de build (debug/release), product flavors, pipelines CI/CD, gerenciamento de versao e app bundles (AAB)
Objetivos
- Publicar apps na Google Play Store
- Configurar pipelines CI/CD para projetos Android
Conceitos-chave
- assinatura de app (keystore)
- publicacao na Play Store
- variantes de build
- product flavors
- CI/CD (GitHub Actions/Bitrise)
- gerenciamento de versao (versionCode/Name)
- Android App Bundle (AAB)
- politicas do Play Console
Níveis: Júnior, Pleno e Sênior
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Kotlin & Desenvolvimento Android?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Kotlin & Desenvolvimento Android?
Comece por Fundamentos de Kotlin: Variaveis & Tipos, Fluxo de Controle e Funcoes. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Kotlin & Desenvolvimento Android?
Uma avaliação completa desta trilha leva cerca de 45 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.