Bom dia.
Eu tenho um aplicativo que faz algo neste sentido.
Detalhes da minha rotina:
- Existe um campo Chave Primária para cada registro
- Primeiro eu busco um WS com todos os registros, e apenas duas informações: ID_REG (chave primaria) e NR_VERSAO (numero da versão, que é incrementada cada vez que é feita alguma alteração na nuvem. Ex: "id_reg": 1001, "nr_versao": 5
- No aplicativo android, eu "varro" todos os registros, e trabalho apenas quando é NOVO ou com VERSÃO DIFERENTE;
- Quando é novo (EOF no SQLite), eu uso INSERT. Quando não é novo, e a versão é diferente, uso UPDATE. os demais registros são desprezados.
Não sei se é a melhor solução, mas para minha aplicação ficou bem rápido o processo.
Espero que ajude.
Em 04/10/2017 10:20, Fernando Antunes escreveu:
Salve Salve Galera!!!--
Tenho um aplicativo que trabalha com webservice para leitura de dados, utilizo a Volley para consultar no webservice e assim buscar o JSON, com este JSON eu coloco os dados em uma listview e pronto.
Situações:
A. Preciso colocar o aplicativo para ler estes dados quando estiver offline. (Já implementei o SQLITE que faz as operações padrões). - É apenas leitura do WS para Android, não tem inserção do Android para o WS.
B. Preciso sincronizar os dados, exemplo: Estou offline, navego normalmente usando as consultas no SQLITE, quando ficar online, ele verifica se tem novos dados ou se algum dado foi alterado, se sim, ele atualiza os dados na tabela do SQL.
PROBLEMA A SER SOLUCIONADO:
Como faço a sincronização de offline com onlline?
Ele precisa carregar os dados e salvar no SQLITE apenas se foi alterado alguma coisa ou se inseriu algo novo.
TENTATIVA: Eu coloquei o SQLITE, mas sempre que ele abria o aplicativo ele gravava um novo registro, assim duplicando vários registros, em pesquisas eu encontrei o BroadcastReceiver para verificar quando tem internet ou não.
Como faço essa lógica de carregar os dados e atualizar nas tabelas apenas se foi alterado algo, se eu colocar para atualizar sempre que estiver com internet ai complica, se alguém já passou por isso e tem uma rotina de sincronização e gostaria de compartilhar ficaria muito grato, abraços.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
0 comentários:
Postar um comentário