📊 Slides: Cap 16 — Captura QR: Scanner de Itens

📖 Ver Cap 16 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

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


⬅️ Voltar para Slides