introdução ao room (marcus souza)

21
Introdução ao Room – Android Architeture Components Coders on Beer

Upload: concrete

Post on 22-Jan-2018

22 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Introdução ao Room (Marcus Souza)

Introdução ao Room – Android Architeture Components

Coders on Beer

Page 2: Introdução ao Room (Marcus Souza)

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

[email protected]

https://www.linkedin.com/in/marcus-souza-466a2749

Page 3: Introdução ao Room (Marcus Souza)

Persistência de

Dados

Page 4: Introdução ao Room (Marcus Souza)

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)

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)

SQLITE

Page 7: Introdução ao Room (Marcus Souza)

É 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)

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)

ORM

Page 10: Introdução ao Room (Marcus Souza)

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)

•ORMLite

•GreenDAO

•Realm

•Room

Quais existem ?

Page 12: Introdução ao Room (Marcus Souza)

•ORMLite

•GreenDAO

•Realm

•Room

Quais existem ?

Page 13: Introdução ao Room (Marcus Souza)

Room

Page 14: Introdução ao Room (Marcus Souza)

É 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)

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)

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)

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)

Migrations

Page 19: Introdução ao Room (Marcus Souza)

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)

Show me the Code

Chega de palavras

Page 21: Introdução ao Room (Marcus Souza)

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