🧠 Quiz: Cap 15 — Meus Jogos Favoritos (Room DB)

📖 Ver Cap 15

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


🔑 Ver Gabarito 1. **B** — a `@Entity` representa a "Tabela" do banco; cada instância da `data class` é uma linha/registro. 2. **A** — o `@Dao` é o "Controle Remoto": define os métodos para interagir com o banco (inserir, consultar, deletar). 3. **B** — `@PrimaryKey(autoGenerate = true)` garante um identificador único e automático para cada registro, como um "CPF". 4. **A** — a classe `@Database` é o "Armário" que reúne as Entities e expõe os DAOs, representando o banco Room. 5. **B** — `suspend` permite que as operações de banco rodem em uma corrotina, fora da thread principal, sem congelar a interface.

⬅️ Voltar para Quizzes