Introdução ao Room (Marcus Souza)
-
Upload
concrete -
Category
Technology
-
view
22 -
download
2
Transcript of Introdução ao Room (Marcus Souza)
![Page 1: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/1.jpg)
Introdução ao Room – Android Architeture Components
Coders on Beer
![Page 2: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/2.jpg)
Marcus ‘Aleátorio’ Souza
- Desenvolvedor a mais de 10 anos
- Androider na Concrete desde Nov/16
- Sou casado e pai de um menino de 3 anos
- Integrante do “capítulo” de cubo mágico
https://www.linkedin.com/in/marcus-souza-466a2749
![Page 3: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/3.jpg)
Persistência de
Dados
![Page 4: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/4.jpg)
Opções de armazenamento
•Shared Preferences
•Armazenamento Interno
•Armazenamento Externo
•Banco de Dados SQLite
•Conexão de rede
![Page 5: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/5.jpg)
Opções de armazenamento
•Shared Preferences
•Armazenamento Interno
•Armazenamento Externo
•Banco de Dados SQLite
•Conexão de rede
![Page 6: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/6.jpg)
SQLITE
![Page 7: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/7.jpg)
É o banco de dados oficial da plataforma android
Ele é relacional, de código aberto, com sintaxe SQL e transações.
Já está incorporado aos dispositivos android, o que torna fácil a sua utilização
O que é ?
![Page 8: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/8.jpg)
Com o Sqlite no Android, podemos guardar os seguintes tipos:
•Text
•Null
•Integer
•Real
•Blob
Data Types
![Page 9: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/9.jpg)
ORM
![Page 10: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/10.jpg)
Object Relational Mapping. É uma técnica para converter dados entre sistemas de tipos incompatíveis usando qualquer linguagem de programação orientada a objetos.
As tabelas são representadas por classes e os registros como instâncias das classes correspondentes.
O que é ?
![Page 11: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/11.jpg)
•ORMLite
•GreenDAO
•Realm
•Room
Quais existem ?
![Page 12: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/12.jpg)
•ORMLite
•GreenDAO
•Realm
•Room
Quais existem ?
![Page 13: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/13.jpg)
Room
![Page 14: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/14.jpg)
É uma camada de abstração sobre o SQLite. Existem 3 componentes importantes dentro do Room:
•DataBase
•Entity
•Dao
O que é ?
![Page 15: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/15.jpg)
Componentes
Database
Entity
Dao
Nosso ponto de acesso aos dados persistidos na base de dados, nossos dados relacionais.
A classe precisa ser abstrata, anotada com @Database e extender a classe RoomDatabase.
![Page 16: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/16.jpg)
Componentes
Database
Entity
Dao
Nada mais do que a representação da tabela no nosso banco de dados.
As anotações básicas que utilizamos dentro de uma entidade são:
● @Entity● @PrimaryKey● @ColumnInfo● @Ignore
![Page 17: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/17.jpg)
Componentes
Database
Entity
Dao
Interface que contém os métodos utilizados para acessar a nossa base de dados.
As anotações básicas que utilizamos dentro de uma dao são:
● @Dao● @Insert● @Delete● @Update● @Query
![Page 18: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/18.jpg)
Migrations
![Page 19: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/19.jpg)
Uma forma segura de manter os dados já salvos do seu aplicativo quando alterações são feitas no seu modelo. Se uma alteração no modelo for feita e uma migration não for informada, o app pode crashar ou até pior, todos os dados do seu usuário podem ser perdidos.
O que é ?
![Page 20: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/20.jpg)
Show me the Code
Chega de palavras
![Page 21: Introdução ao Room (Marcus Souza)](https://reader031.fdocument.pub/reader031/viewer/2022030317/5a650e7d7f8b9af3398b52c7/html5/thumbnails/21.jpg)
Centro
Av. Presidente Wilson,
231 - 29º andar
(21) 2240-2030
Cidade Monções
Av. Nações Unidas,
11.541 - 3º andar
(11) 4119-0449
Savassi
Av. Getúlio Vargas, 671
Sala 800 - 8º andar
(31) 3360-8900
www.concrete.com.br