📊 Slides: Cap 13 — Conectando ao Mundo (PokeAPI)

📖 Ver Cap 13 completo

Resumo visual da aula, em blocos — use como roteiro de revisão ou apresentação.


🟦 Slide 1: Objetivo da Aula


🟦 Slide 2: O Cenário Prático

Os dados dos Pokémons não estão no celular — estão na nuvem (PokeAPI). Aprenda a pedir esses dados e entender como eles chegam até o seu código.


🟦 Slide 3: Dicionário do Programador

Termo Significado
API Um “garçom” que leva seu pedido ao servidor e traz a resposta
JSON A “bandeja” — formato de texto dos dados
Mock Um servidor “de mentirinha” para testar sem o servidor real
Corrotina Tarefa em segundo plano que “pausa” sem travar a tela
Repository O “Estoque Central” — decide de onde vêm os dados

🟦 Slide 4: Da Tela até a API

graph LR
    A["View: Tela"] -->|chama| B["ViewModel: carregarHeroi()"]
    B -->|viewModelScope.launch| C["Repository: buscarHeroi()"]
    C -->|suspend| D["GameService: Retrofit"]
    D -->|JSON| C
    C --> B
    B -->|atualiza State| A

🟦 Slide 5: Exemplo — Modelando e Buscando

data class Pokemon(
    val id: Int,
    val name: String
)

class HeroiViewModel(private val repository: GameRepository) : ViewModel() {
    private val _heroi = mutableStateOf<Personagem?>(null)
    val heroi: State<Personagem?> = _heroi

    fun carregarHeroi() {
        viewModelScope.launch {
            _heroi.value = repository.buscarHeroi()
        }
    }
}

🟦 Slide 6: Prática e Próximos Passos


⬅️ Voltar para Slides