📊 Slides: Cap 16 — Captura QR: Scanner de Itens
Resumo visual da aula, em blocos — use como roteiro de revisão ou apresentação.
🟦 Slide 1: Objetivo da Aula
- Usar a câmera do celular no app.
- Integrar o Google ML Kit para ler QR Codes.
🟦 Slide 2: O Cenário Prático
Crie um evento de “Caça ao Tesouro”: o celular identifica quando o jogador aponta a câmera para um QR Code. Se for
POKE_BOLA, o app dá o item ao jogador.
🟦 Slide 3: Dicionário do Programador
| Termo | Significado |
|---|---|
| CameraX | Biblioteca oficial do Google para usar a câmera |
| ML Kit | O “Cérebro” de visão do Google — lê textos, rostos, QR Codes |
| Permissões | “Licença” obrigatória no manifesto antes de usar a câmera |
📦 Dependência: implementation("com.google.mlkit:barcode-scanning:17.2.0")
🟦 Slide 4: Fluxo de Permissão
graph TD
A["Usuário abre Câmera"] --> B{Tem Permissão?}
B -->|Não| C["Mostra Janela de Pedido"]
B -->|Sim| D["Abre Scanner QR"]
🟦 Slide 5: Exemplo — O Verificador de Itens
fun processarCodigo(textoLido: String) {
if (textoLido == "POKE_BOLA") {
println("📦 Você ganhou uma Pokebola!")
} else {
println("❌ Código inválido ou item desconhecido.")
}
}
fun escanearImagem(imagem: InputImage) {
val scanner = BarcodeScanning.getClient()
scanner.process(imagem)
.addOnSuccessListener { codigosEncontrados ->
for (codigo in codigosEncontrados) {
processarCodigo(codigo.rawValue ?: "")
}
}
.addOnFailureListener { println("❌ Erro ao ler o código.") }
}
🟦 Slide 6: Prática e Próximos Passos
- 🛠️ Prática 1: permissão de câmera no
AndroidManifest.xml. - 🛠️ Prática 2:
validarIngresso(“VIP” → “Acesso Liberado”). - 🛠️ Prática 3:
escanearMoeda(verifica"POKE_MOEDA"). - 💪 Exercício extra: inventário de itens via QR com
when. - 🧠 Quiz: teste seus conhecimentos.
- ➡️ Próximo capítulo: Cap 17 — PokeMap (Onde estão os Treinadores?).