Android: Design para buscar atualização / sincronização do servidor

5

Estou criando um aplicativo de reunião no qual os usuários podem criar, participar (por convite) e editar eventos como reuniões, passeios etc. Pense no que é grupos de bate-papo do aplicativo. Por isso, estou pensando em projetar como o aplicativo Android ficaria em sincronia com todos os eventos novos ou atualizados aos quais o usuário pertence. Alguma idéia de como projetar isso?

Eu tenho algumas ideias:

1) No banco de dados, posso salvar todos os eventos com uma data da última modificação. Então, quando retomar o aplicativo, buscarei todos os eventos com uma data da última modificação maior que a última vez que fui buscado para os eventos. No entanto, em tempo real, eu precisaria de uma maneira de enviar atualizações.

2) Use o GCM e salve as notificações em um banco de dados local. Eu posso salvar os IDs dos eventos que recebo da notificação e, em seguida, fazer uma solicitação ao servidor. Ou posso fazer com que o GCM passe o objeto de evento inteiro e salve-me uma chamada do servidor. Mas estou um pouco preocupado em confiar tanto no GCM. Se qualquer notificação do GCM falhar, o usuário nunca receberá o evento.

3) Tenha uma tabela de fila para transações de eventos no banco de dados do servidor. Em seguida, o usuário pode pegar todas as transações e fazer uma solicitação ao servidor para pegar os dados novos / alterados. No entanto, isso parece muito caro e as tabelas podem ficar enormes.

O que você acha desses métodos? Ou você acha que existem maneiras melhores?

    
por roverred 19.05.2016 / 07:22
fonte

1 resposta

1

A abordagem mais simples que posso imaginar é que seu aplicativo faz solicitações HTTP para o back-end do servidor e recupera as mensagens, em texto simples, se você quiser.

https://yourdomain.example/chatBackend/getMessages?user=Bob&token=B4258CF9A&newer=20160518225524

Resposta:

Alice: What is the wheather in Finnland?
Alice: Do you like some ☕?

Claro, você também deve escrever um back-end do lado do servidor. Melhor do que consultar o servidor várias vezes, a pesquisa longa pode ser uma técnica adequada para você.

    
por 19.05.2016 / 15:10
fonte