sinconização: como resolver?

Post on 29-Jun-2015

393 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra apresentada no AndroiDay 2013.

TRANSCRIPT

SincronizaçãoComo resolver?

Renato Ferreira SoaresVinicius Pilot Moleta

Por que sincronizar?

CenárioSincronização: Como resolver?

AmbienteAplicativo Dados

OnlineSincronização: Como resolver?

AmbienteAplicativo DadosConsulta online de dados

Sincronização: Como resolver?

Online

• Dependência de conexão de dados

• Demora na resposta

• Cota 3G

ReplicaçãoSincronização: Como resolver?

AmbienteAplicativo Dados

Replicação

Sincronização: Como resolver?

Replicação

• Consistência

• Eficiência do dispositivo

• Manutenção

SincronizaçãoSincronização: Como resolver?

AmbienteAplicativo Dados

CenárioSincronização: Como resolver?

AmbienteA2

Dados Centralizados

D1D2 A1

D3

A3

Parece importante, mas como eu faço?

PollingSincronização: Como resolver?

Aplicativo

Servidor

Sincronização: Como resolver?

Polling

• Uso ineficiente dos recursos

• Bateria

• Internet

• Sincronização perdidas

Como considerar tudo isso?

SyncAdapterSincronização: Como resolver?

• Framework Android

• Coordena sincronizações

• Uso eficiente de recursos

• Centralizado para todos os aplicativos

ContaSincronização: Como resolver?

• Necessidade de um tipo de conta

• Terceiro

• Própria

• Adicionar uma conta desse tipo

• Autenticação na sincronização

• Configurações

SincronizaçãoSincronização: Como resolver?

• Lógica de transferência de dados

• Serviço para framework executar seu

código

• Resultado para o framework

• Configurações

DadosSincronização: Como resolver?

• Content provider e base SQLite

• Content resolver

SyncAdapterSincronização: Como resolver?

Autenticação Conta Serviço de Sincronização

Content Resolver SyncAdapterImplementação

Servidor

Content Provider

SQLite

Então sempre devo utilizar somente o SyncAdapter?DEPENDE

Utilização SyncAdapter

Sincronização: Como resolver?

• Dados mais importantes que recursos

• Online

• Assíncrono

E quando o SyncAdapter irá executar?

TécnicasSincronização: Como resolver?

Aplicativo

Dados

Geração de Dados

• Requisições Periódicas• Requisição Forçada

Dados

Servidor

Mas e se eu quiser que o servidor informe

quando um dado foi modificado?

A

Google Cloud Messaging

Sincronização: Como resolver?

• Serviço mantido pelo Google

• Grátis

• Limite do tamanho da requisição

• Específico para notificações

A

Google Cloud Messaging

Sincronização: Como resolver?

Google Cloud Messaging

Aplicativo

Registrar o Dispositivo / Aplicativo em um projeto específico.

Registro ID

ServidorRegistro ID

A

Google Cloud Messaging

Sincronização: Como resolver?

Servidor

Google Cloud Messaging Requisita que uma

mensagem seja enviada.

Aplicativo

Entrega da mensagem quando estiver

disponível.

Pode-se unir as técnicas?

Sincronização: Como resolver?

Aplicativo

Geração de DadosGeração de Dados

Google Cloud Messaging

Servidor

E o servidor?

ServidorSincronização: Como resolver?

• Muitas notificações ao dispositivo

• Grande volume de dados

• Dados desnecessários

top related