Saltar para conteúdo


Foto
- - - - -

Sincronização de dados local / online e vice-versa

#sincronização #volley #webservices

  • Por favor inicie sessão para responder
4 respostas a este tópico

#1 luigicbt

luigicbt

    Membro

  • Membros
  • PipPip
  • 10 mensagens

Mensagem publicada 23 April 2015 - 15:13

Olá a todos,

 

Tenho uma dúvida relativa à sincronização de dados.

Estou a desenvolver uma aplicação que comunica com uma API online que permite o envio e receção de dados.

A APP já tem implementadas as funcionalidades para envio e receção de dados, neste caso, solicitados pelo utilizador.

 

Paralelamente à APP existe uma aplicação Web que também implementa a API para comunicação com o repositório de dados.

Um utilizador tanto pode atualizar o seu perfil na APP Android como na APP Web.

 

Qual a forma de eu atualizar automaticamente a informação na APP Android (quando há um update na Web) sem estar constantemente a invocar os webservices e comparar os dados com os da APP e verificar se há ou não atualização?

 

Eu neste momento tenho implementado o serviço Google Cloud Messaging (GCM) para receção de notificações da API.

 

Será uma boa estratégia usar o GCM para receção de dados na a APP (quando surgem alterações a partir da app web)?

 

 

Abraço

 

#2 xanex

xanex

    Membro

  • Membros
  • PipPip
  • 199 mensagens
  • LocalizaçãoLisboa
  • Nexus 10, Nexus 5x, Nexus 6p

Mensagem publicada 23 April 2015 - 15:51

Não sei qual é a melhora maneira, deve haver muitas :P

Uma maneira que me parece boa é atraves das notificações e com o GCM como falas-te

Ve isto
https://developer.an...nc-adapter.html

pode ser feito automaticamente, quando alteras de um lado automaticamente vai atualizar os outros, ou então é atualizado de x em x tempo, nunca utilizei muito isto, mas dá para fazer o que queres



#3 luigicbt

luigicbt

    Membro

  • Membros
  • PipPip
  • 10 mensagens

Mensagem publicada 23 April 2015 - 16:17

Eu já pensei em fazer a verificação de x em x tempo... mas receio que isso possa gerar muitos pedidos e coisa rebente pelas costuras. Daí a ideia do GCM, uma vez que o serviço está a correr, poderia verificar se a receção de dados configuram uma notificação ou se se trata de uma atualização de dados, e nesse caso fazia o update da BD local e o utilizador nem dava conta disso.

 

Dessa forma os pedidos à API seriam apenas os estritamente necessários e o sistema não correria tantos riscos de crachar.

 

Já agora coloco outra dúvida: Quando colocar a app na Google Play e pretender fazer uma atualização às apps instaladas, a app que estou a desenvolver tem de ter alguma configuração específica ou isso é feito de forma automática, ou seja, substituindo a app na Google Play isto desencadeia o update nas apps instaladas?



#4 xanex

xanex

    Membro

  • Membros
  • PipPip
  • 199 mensagens
  • LocalizaçãoLisboa
  • Nexus 10, Nexus 5x, Nexus 6p

Mensagem publicada 23 April 2015 - 16:27

Sobre as apps no google play e updates das apps

 

é tudo automatico, tens de manter sempre o package name no projecto

 

não podes obrigar o utilizador a fazer update, podes é bloquear o acesso caso ele não o faça, tipo uma "proteção" a obrigar o update no splashscreen, e se não fizer update não passa dali, ou não deixas entrar no ecra dos dados do utilizador enquanto não fizer update

 

o update da app só é feito quando o utilizador carregue no botao update do google play, ou caso tenha os updates automaticos ligados


  • luigicbt gosta disto

#5 luigicbt

luigicbt

    Membro

  • Membros
  • PipPip
  • 10 mensagens

Mensagem publicada 23 April 2015 - 16:32

Boa, pensei que seria mais complexo.

Obrigado.

 

Abraço