📊 Slides: Cap 15 — Meus Jogos Favoritos (Room DB)
Resumo visual da aula, em blocos — use como roteiro de revisão ou apresentação.
🟦 Slide 1: Objetivo da Aula
- Criar um banco de dados interno no celular com Room.
- Salvar dados de forma permanente (persistência).
🟦 Slide 2: O Cenário Prático
Crie o Vault Gamer: um banco de dados onde você salva nome do jogo, console e nota. Mesmo desligando o celular, sua lista continua lá!
🟦 Slide 3: Dicionário do Programador
| Termo | Significado |
|---|---|
| Entity | A “Tabela” do banco — cada linha é um jogo (data class) |
| DAO | O “Controle Remoto” — botões “Salvar”, “Deletar”, “Ver Tudo” |
| Primary Key | O “CPF” de cada registro — número único |
📂 Padrão Room: data/local/model/ (@Entity) + data/local/dao/ (@Dao) + @Database na raiz de data/local/
🟦 Slide 4: App → DAO → Banco
graph TD
A["Seu App"] --> B(DAO: O Gerente)
B -->|Escreve/Lê| C[("Banco Room: O Arquivo")]
🟦 Slide 5: Exemplo — Criando o “Save Game”
@Entity(tableName = "jogos")
data class JogoEntity(
@PrimaryKey(autoGenerate = true) val id: Int = 0,
val titulo: String,
val plataforma: String
)
@Dao
interface JogoDao {
@Insert
suspend fun adicionar(jogo: JogoEntity)
@Query("SELECT * FROM jogos")
suspend fun listarTodos(): List<JogoEntity>
}
🟦 Slide 6: Prática e Próximos Passos
- 🛠️ Prática 1:
PersonagemEntity(id, nome, level). - 🛠️ Prática 2:
PersonagemDaocomsalvarebuscarPorNome. - 🛠️ Prática 3:
AppDatabaseligando Entity ao DAO. - 💪 Exercício extra: completando o DAO — listar e remover.
- 🧠 Quiz: teste seus conhecimentos.
- ➡️ Próximo capítulo: Cap 16 — Captura QR (Scanner de Itens).