0% acharam este documento útil (0 voto)
5 visualizações8 páginas

Ferramentas para Banco de Dados Móvel

O documento apresenta um roteiro para uma atividade prática sobre ferramentas de armazenamento de dados e criação de bancos de dados em aplicações móveis, focando no uso de Room para Android e Core Data para iOS. Os alunos devem criar um banco de dados local para um aplicativo de lista de tarefas, implementando operações CRUD e definindo a estrutura da tabela. O material inclui passos detalhados para configuração, definição de entidades, criação de DAO e execução de operações no banco de dados.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
5 visualizações8 páginas

Ferramentas para Banco de Dados Móvel

O documento apresenta um roteiro para uma atividade prática sobre ferramentas de armazenamento de dados e criação de bancos de dados em aplicações móveis, focando no uso de Room para Android e Core Data para iOS. Os alunos devem criar um banco de dados local para um aplicativo de lista de tarefas, implementando operações CRUD e definindo a estrutura da tabela. O material inclui passos detalhados para configuração, definição de entidades, criação de DAO e execução de operações no banco de dados.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Roteiro de Atividade Prática

Nome: Turma:
.

Título da atividade: Ferramentas de armazenamento


de dados e criação de banco de dados em aplicações
móveis

Pontos Principais do Conteúdo:

Explicação dos Conceitos

 Ferramentas de Armazenamento de Dados: em desenvolvimento móvel, é


importante escolher a ferramenta adequada para armazenar informações
locais. Essas ferramentas variam desde simples pares chave-valor (como
SharedPreferences no Android) até bancos de dados relacionais completos,
como SQLite ou Room. O uso correto de cada ferramenta garante eficiência,
organização e escalabilidade para o aplicativo.

 Criação de um Banco de Dados Básico: criar um banco de dados local, como o


Room (Android) ou Core Data (iOS), permite que aplicações móveis armazenem
e recuperem dados estruturados de maneira eficiente. Essas ferramentas
ajudam a gerenciar operações de consulta, inserção, atualização e remoção de
dados diretamente no dispositivo do usuário.

Lista de materiais
• Computador com Internet;
• Caderno para anotações;
• 1 caneta.

Atividade:

O objetivo desta atividade é:

 Entender como criar e configurar um banco de dados local usando


uma ferramenta adequada para o armazenamento de dados em uma
aplicação móvel;
 Implementar um banco de dados básico que permita armazenar e
consultar informações de forma eficiente, usando Room (para Android)
ou Core Data (para iOS);
 Explorar as operações básicas (CRUD - Create, Read, Update, Delete)
em um banco de dados, aplicando essas operações no contexto de uma
aplicação móvel.

[SIS] [B2] [C1]


1/8
Contexto:

Você está desenvolvendo um aplicativo móvel de lista de tarefas (to-do list). O


objetivo é permitir que o usuário adicione, consulte e remova tarefas,
armazenando todas essas informações localmente no dispositivo. Sua tarefa é
criar um banco de dados básico para armazenar essas informações de forma
eficiente.

Você deverá:

 Definir a estrutura da tabela que armazenará as tarefas (título e status


da tarefa);
 Implementar as operações CRUD (inserir, listar, atualizar e remover
tarefas);
 Utilizar o Room (no Android) ou Core Data (no iOS) para gerenciar o
banco de dados localmente.

Estrutura sugerida para a Tabela (ou Entidade):

 id (int): Identificador único da tarefa;


 titulo (string): Título da tarefa;
 status (string): Estado da tarefa (pendente/completa).

Passos para a Implementação:

1. Configurar o ambiente e as dependências:

 No Android, adicione as dependências do Room no arquivo


[Link]:

implementation "[Link]:room-runtime:2.4.2"
kapt "[Link]:room-compiler:2.4.2"

 No iOS, configure o Core Data no seu projeto Xcode.

2. Definir a Entidade (Tabela):

 Para Android (Room):

@Entity(tableName = "tarefas")
data class Tarefa(
@PrimaryKey(autoGenerate = true) val id: Int = 0,
val titulo: String,
val status: String
)

 Para iOS (Core Data):

[SIS] [B2] [C1]


2/8
o Use o Data Model Editor para criar a entidade Tarefa com os
atributos título e status.

3. Criar o DAO (Android - Room):

 Implemente as funções de CRUD para gerenciar as tarefas.

@Dao
interface TarefaDao {
@Insert
fun inserirTarefa(tarefa: Tarefa)

@Query("SELECT * FROM tarefas")


fun obterTodasTarefas(): List<Tarefa>

@Update
fun atualizarTarefa(tarefa: Tarefa)
@Delete
fun removerTarefa(tarefa: Tarefa)
}
4. Implementar o Banco de Dados (Room ou Core Data):

 No Android (Room), crie a classe AppDatabase que será o ponto de


acesso ao banco de dados.

@Database(entities = [Tarefa::class], version = 1)


abstract class AppDatabase : RoomDatabase() {
abstract fun tarefaDao(): TarefaDao
}

 No iOS (Core Data), utilize o NSManagedObjectContext para inserir


e consultar as tarefas.

5. Executar as Operações CRUD:

 Implemente as funções que adicionam novas tarefas, listam todas as


tarefas, atualizam o status de uma tarefa e removem tarefas.

Perguntas para Responder:

1. Qual é a vantagem de utilizar o Room ou Core Data em vez de


armazenar os dados diretamente em arquivos?

2. Quais são as diferenças entre as operações CRUD (Create, Read, Update,


Delete) e como elas são implementadas no Room/Core Data?

[SIS] [B2] [C1]


3/8
3. Como a estruturação do banco de dados local afeta a performance da
aplicação móvel?

# **Roteiro de Atividade Prática**


**Nome:** ________________________________________________________
**Turma:** ________

## **Título da Atividade:**
Ferramentas de armazenamento de dados e criação de banco de dados
em aplicações móveis

---

## **Pontos Principais do Conteúdo:**

### **Ferramentas de Armazenamento de Dados**


- **Armazenamento local** em aplicações móveis pode ser feito de
diferentes formas:
- **SharedPreferences/UserDefaults** (armazenamento simples
chave-valor).
- **SQLite** (banco de dados relacional leve).
- **Room** (biblioteca de abstração para SQLite no Android).
- **Core Data** (framework de persistência no iOS).
- A escolha da ferramenta impacta na **eficiência, organização e
escalabilidade** do app.

### **Criação de um Banco de Dados Básico**


- **Room (Android)** e **Core Data (iOS)** facilitam operações CRUD
(Create, Read, Update, Delete).
- Permitem armazenar e recuperar **dados estruturados** de forma
otimizada.

---

## **Lista de Materiais**
✅ Computador com Internet
✅ Caderno para anotações
✅ Caneta

---

## **Atividade Prática**

### **Objetivo:**
Criar um **banco de dados local** para um app de lista de tarefas (to-
do list), implementando operações **CRUD** usando **Room (Android)
ou Core Data (iOS)**.

[SIS] [B2] [C1]


4/8
### **Contexto:**
Você está desenvolvendo um app de tarefas onde o usuário pode:
✔️Adicionar novas tarefas
✔️Visualizar todas as tarefas
✔️Atualizar o status (pendente/completa)
✔️Remover tarefas

---

## **Passos para Implementação**

### **1. Configurar o Ambiente**


#### **Android (Room)**
No `[Link] (Module: app)`, adicione:
```gradle
dependencies {
implementation "[Link]:room-runtime:2.4.2"
kapt "[Link]:room-compiler:2.4.2"
}
```

#### **iOS (Core Data)**


- No Xcode, marque **"Use Core Data"** ao criar o projeto.
- Defina a entidade **Tarefa** no **Data Model Editor**.

---

### **2. Definir a Entidade (Tabela)**


#### **Android (Room)**
```kotlin
@Entity(tableName = "tarefas")
data class Tarefa(
@PrimaryKey(autoGenerate = true) val id: Int = 0,
val titulo: String,
val status: String // "Pendente" ou "Completa"
)
```

#### **iOS (Core Data)**


- Crie a entidade `Tarefa` com atributos:
- `id` (Integer 64)
- `titulo` (String)
- `status` (String)

---

### **3. Criar o DAO (Data Access Object - Android)**


```kotlin

[SIS] [B2] [C1]


5/8
@Dao
interface TarefaDao {
@Insert
fun inserirTarefa(tarefa: Tarefa)

@Query("SELECT * FROM tarefas")


fun obterTodasTarefas(): List<Tarefa>

@Update
fun atualizarTarefa(tarefa: Tarefa)

@Delete
fun removerTarefa(tarefa: Tarefa)
}
```

---

### **4. Implementar o Banco de Dados**


#### **Android (Room)**
```kotlin
@Database(entities = [Tarefa::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun tarefaDao(): TarefaDao
}
```

#### **iOS (Core Data)**


- Use `NSManagedObjectContext` para operações CRUD.

---

### **5. Executar Operações CRUD**


- **Create (Inserir):**
```kotlin
val db = [Link](..., AppDatabase::[Link],
"tarefas_db").build()
[Link]().inserirTarefa(Tarefa(titulo = "Estudar Kotlin", status =
"Pendente"))
```

- **Read (Listar):**
```kotlin
val tarefas = [Link]().obterTodasTarefas()
```

- **Update (Atualizar):**
```kotlin

[SIS] [B2] [C1]


6/8
val tarefa = tarefas[0]
[Link] = "Completa"
[Link]().atualizarTarefa(tarefa)
```

- **Delete (Remover):**
```kotlin
[Link]().removerTarefa(tarefa)
```

---

## **Perguntas para Responder**

1. **Qual é a vantagem de usar Room/Core Data em vez de arquivos?**


- Oferecem **gerenciamento estruturado**, consultas otimizadas e
segurança de dados.

2. **Como as operações CRUD são implementadas no Room/Core Data?


**
- **Create:** `@Insert` (Room) / `[Link]()`
(Core Data).
- **Read:** `@Query` (Room) / `NSFetchRequest` (Core Data).
- **Update:** `@Update` (Room) / Modificar objeto e salvar (Core
Data).
- **Delete:** `@Delete` (Room) / `[Link]()`
(Core Data).

3. **Como a estrutura do banco de dados afeta a performance?**


- Índices e consultas bem definidas melhoram a **velocidade de
acesso**.
- Má estruturação pode causar lentidão em grandes volumes de
dados.

---

**Conclusão:**
Esta atividade permitiu entender como **banco de dados locais**
funcionam em apps móveis, aplicando **CRUD** com **Room (Android)
ou Core Data (iOS)**.

**Nome:** ________________________ **Data:** ___/___/___


**Assinatura:** ________________________

[SIS] [B2] [C1]


7/8
[SIS] [B2] [C1]
8/8

Você também pode gostar