Logo Passei Direto
Buscar

Persistência de Dados no React Native (JSON, AsyncStorage, SQLite, Realm e NoSQL)

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto

Resumo – Persistência de Dados no React 
Native (JSON, AsyncStorage, SQLite, Realm e 
NoSQL)
O material apresenta diferentes formas de persistência de dados no React Native, abordando 
conceitos de serialização, interoperabilidade, armazenamento local e bancos de dados relacionais e 
não relacionais.
1. Serialização e JSON
A serialização é o processo de transformar objetos em texto para:
• armazenamento; 
• transmissão em rede; 
• persistência em arquivos. 
No JavaScript/TypeScript, utiliza-se a classe JSON.
Métodos principais
JSON.stringify()
Converte objetos em texto JSON.
JSON.parse()
Transforma texto JSON novamente em objeto.
Exemplo:
let prod1Str = JSON.stringify(prod1);
let prod2 = JSON.parse(prod1Str);
Esse processo também é chamado de:
• serialização; 
• de-serialização. 
2. Interoperabilidade
Interoperabilidade é a capacidade de diferentes sistemas se comunicarem utilizando padrões 
comuns.
Os principais formatos interoperáveis são:
• JSON; 
• XML. 
Web Services
SOAP
• utiliza XML; 
• muito usado em sistemas B2B. 
RESTful
• normalmente utiliza JSON; 
• amplamente usado em aplicações web e mobile. 
O React Native possui excelente suporte ao JSON, facilitando integração com APIs REST.
3. Persistência Assíncrona
Em aplicações móveis, operações de entrada e saída devem ocorrer de forma assíncrona para evitar 
travamentos na interface.
Palavras importantes:
• async 
• await 
• Promise 
• then 
4. AsyncStorage
O AsyncStorage permite armazenamento local simples no formato:
• chave → valor. 
Características:
• persistência local; 
• armazenamento assíncrono; 
• uso comum em configurações e pequenos dados. 
Métodos principais
Método Função
getItem Recupera valor
setItem Armazena valor
removeItem Remove item
Método Função
getAllKeys Retorna todas as chaves
multiGet Recupera múltiplos itens
Exemplo:
await AsyncStorage.setItem('tema', valorTema);
Os objetos precisam ser serializados em JSON antes do armazenamento.
5. GestorDados com AsyncStorage
Foi criada uma camada de persistência chamada GestorDados.
Funções:
• adicionar produtos; 
• remover produtos; 
• listar produtos. 
A classe utiliza:
• JSON.stringify; 
• JSON.parse; 
• AsyncStorage. 
O padrão melhora:
• reutilização; 
• organização; 
• manutenção do código. 
6. React Navigation
O projeto utiliza navegação Stack com:
• NavigationContainer; 
• createStackNavigator. 
Telas principais:
• ListaProd; 
• NovoProd. 
Também foram utilizados:
• FlatList; 
• TextInput; 
• TouchableOpacity. 
7. Modelo Relacional
Os bancos relacionais organizam dados em:
• tabelas; 
• linhas; 
• colunas. 
Baseiam-se em:
• álgebra relacional; 
• cálculo relacional. 
SQL
A linguagem SQL é dividida em:
DDL
Definição de estruturas:
• CREATE; 
• ALTER; 
• DROP. 
DML
Manipulação de dados:
• INSERT; 
• UPDATE; 
• DELETE. 
Consultas
Realizadas com:
• SELECT. 
Exemplo:
SELECT NOME FROM PRODUTO
WHERE CODIGO BETWEEN 1 AND 5;
8. SQLite
SQLite é um banco relacional leve utilizado amplamente em dispositivos móveis.
Características
• não precisa de servidor; 
• armazenamento local; 
• pequeno consumo de memória; 
• gratuito e open source; 
• suporte a transações ACID. 
Métodos principais
openDatabase
Abre o banco.
transaction
Inicia transações.
executeSql
Executa comandos SQL.
Exemplo:
db.transaction(function(txn) {
 txn.executeSql('SELECT * FROM PRODUTO');
});
9. GestorDados com SQLite
A persistência passou a utilizar:
• tabelas SQL; 
• consultas relacionais. 
Comandos utilizados:
• CREATE TABLE; 
• INSERT; 
• DELETE; 
• SELECT. 
A interface visual permaneceu igual, alterando apenas a camada de persistência.
10. Mapeamento Objeto-Relacional (ORM)
ORM é a técnica que converte:
• registros de tabelas
em 
• objetos da aplicação. 
Isso facilita o uso de bancos relacionais em linguagens orientadas a objetos.
11. Realm
Realm é um banco orientado a objetos usado no React Native.
Vantagens
• mais simples que SQLite; 
• trabalha diretamente com objetos; 
• menor quantidade de código; 
• alto desempenho; 
• baixo consumo de memória. 
Estrutura
O banco utiliza:
• schemas; 
• coleções; 
• objetos. 
Exemplo:
db.create('Produto', produto);
12. Métodos do Realm
Método Função
write Inicia escrita
create Cria objeto
delete Remove objeto
objects Retorna coleção
objectForPrimaryKey Busca pela chave
beginTransaction Inicia transação
commitTransaction Confirma
cancelTransaction Desfaz alterações
13. Transações
As transações garantem:
• consistência; 
• integridade; 
• rollback em caso de erro. 
Fluxo:
1. inicia transação; 
2. executa operações; 
3. confirma ou cancela. 
14. NoSQL
NoSQL significa:
• Not Only SQL. 
São bancos voltados para:
• escalabilidade; 
• desempenho; 
• distribuição de dados; 
• Big Data. 
Características
• esquemas flexíveis; 
• alta disponibilidade; 
• tolerância a falhas; 
• foco em escrita massiva. 
Tipos principais
• chave-valor; 
• documental; 
• colunar; 
• grafos. 
Exercícios de Fixação
1. O método utilizado para converter objetos em JSON é:
a) JSON.parse
b) JSON.stringify
c) JSON.object
d) JSON.convert
2. O formato mais utilizado em APIs REST é:
a) XML
b) CSV
c) JSON
d) TXT
3. O AsyncStorage trabalha com:
a) tabelas relacionais
b) arquivos XML
c) pares chave-valor
d) servidores remotos
4. Qual palavra define uma função assíncrona?
a) await
b) Promise
c) async
d) then
5. O comando SQL usado para consultas é:
a) INSERT
b) DELETE
c) CREATE
d) SELECT
6. O SQLite é:
a) um servidor web
b) um banco relacional leve local
c) uma API REST
d) um framework JavaScript
7. O método utilizado para executar comandos SQL no React 
Native é:
a) executeInsert
b) executeSql
c) sqlRun
d) executeQuery
8. O Realm é classificado como:
a) banco orientado a objetos
b) sistema operacional
c) framework web
d) compilador JavaScript
9. As transações servem para:
a) aumentar imagens
b) criar componentes gráficos
c) garantir consistência dos dados
d) substituir o banco de dados
10. O significado atual de NoSQL é:
a) New SQL
b) No Structured Query
c) Not Only SQL
d) Non Server Query Language
Gabarito
1. b 
2. c 
3. c 
4. c 
5. d 
6. b 
7. b 
8. a 
9. c 
10.c

Mais conteúdos dessa disciplina