📊 Slides: Cap 14 — Dados Pokemon: O Mundo Real
Resumo visual da aula, em blocos — use como roteiro de revisão ou apresentação.
🟦 Slide 1: Objetivo da Aula
- Ler um JSON complexo e transformá-lo em código Kotlin com GSON.
- Lidar com nomes de variáveis diferentes entre servidor e app.
🟦 Slide 2: O Cenário Prático
A PokeAPI manda um texto gigante, mas seu app só quer o nome e a foto. No servidor o campo é
front_default; no app você querfotoDoPokemon. Faça essa tradução perfeita.
🟦 Slide 3: Dicionário do Programador
| Termo | Significado |
|---|---|
| JSON | Texto organizado por chaves e valores: { "nome": "Pikachu" } |
| GSON | O “tradutor” — lê o JSON e preenche suas variáveis |
| SerializedName | Um “apelido”: “quando ler X no JSON, guarde em Y” |
📂 Padrão de Nomenclatura: classes em data/model/ terminando em Response (ex: PokemonResponse.kt)
🟦 Slide 4: Do JSON ao Kotlin
graph TD
A["JSON: front_default"] --> B{GSON + SerializedName}
B --> C["Kotlin: urlFoto"]
🟦 Slide 5: Exemplo — Mapeando a Foto
package br.com.curso.pokedex.data.model
import com.google.gson.annotations.SerializedName
data class Pokemon(
val name: String,
val id: Int,
// Traduzindo o nome estranho da API para um nome bonito no Kotlin
@SerializedName("front_default") val urlFoto: String
)
🟦 Slide 6: Prática e Próximos Passos
- 🛠️ Prática 1:
PokemonStatuscomis_legendary→ehLendario. - 🛠️ Prática 2:
PokedexResponsecomList<Pokemon>(chaveresults). - 💪 Exercício extra: mapeando objeto aninhado
sprites.front_default. - 🧠 Quiz: teste seus conhecimentos.
- ➡️ Próximo capítulo: Cap 15 — Meus Jogos Favoritos (Room DB).