🧠 Quiz: Cap 15 — Meus Jogos Favoritos (Room DB)
Teste se você entendeu os conceitos do Cap 15 antes de seguir para o Cap 16. Pense na sua resposta antes de abrir o gabarito!
1. Na analogia do capítulo, o que é uma Entity?
A) Uma tela do app
B) A “Tabela” do banco de dados — cada linha é um registro, representada por uma data class
C) Um botão de navegação
D) Um arquivo de imagem
2. O que é um DAO (Data Access Object)?
A) O “Controle Remoto” do banco — define as ações de salvar, deletar e consultar
B) Um tipo de ViewModel
C) A tela principal do app
D) Um arquivo de configuração do Gradle
3. Para que serve @PrimaryKey(autoGenerate = true)?
A) Para apagar o registro automaticamente B) Para dar a cada registro um identificador único, gerado automaticamente pelo Room — como um “CPF” C) Para criptografar os dados D) Para definir a cor do app
4. O que faz a classe anotada com @Database(entities = [...], version = 1)?
A) É o “Armário” que liga as Entities aos DAOs e representa o banco como um todo
B) É a tela onde o usuário digita os dados
C) É uma função que desenha botões
D) É o arquivo build.gradle do projeto
5. Por que as funções do PersonagemDao (como salvar e buscarPorNome) são marcadas como suspend?
A) Porque suspend é obrigatório em toda interface Kotlin
B) Porque operações de banco de dados não devem rodar na thread principal, e suspend permite isso sem travar a tela
C) Porque suspend apaga os dados após o uso
D) Porque sem suspend o Room não compila, mesmo sem operações de banco