Pular para o conteúdo

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.

6
módulos
24
tópicos
45
min para avaliar

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 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

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.