Autore Topic: Sincronizzazione SqLite & DB remoto  (Letto 759 volte)

Offline wlf

  • Utente normale
  • ***
  • Post: 337
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Sincronizzazione SqLite & DB remoto
« il: 24 Giugno 2015, 17:36:11 CEST »
0
Salve ragazzi, esiste qualche libreria o quant'altro che permetta una sincronizzazione tra un DB remoto e SqLite locale nell'App?
Preferirei non appoggiarmi al cloud ma far girare tutto internamente se fosse possibile ... avete qualche suggerimento in merito?

Scriversi il codice per la gestione di un servizio REST e sincronizzazione lato App è abbastanza pesante; sarebbe meglio se ci fosse qualcosa di già pronto all'uso ...

Grazie.

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 622
  • Respect: +136
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Sincronizzazione SqLite & DB remoto
« Risposta #1 il: 25 Giugno 2015, 10:36:09 CEST »
0
Una soluzione quick&dirty potrebbe consistere nello scaricare il database in blocco e sostituirlo a quello dell'app. Naturalmente questo prevede che il DB sia in sola lettura (altrimenti ad ogni update i dati salvati vengono cancellati).
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline wlf

  • Utente normale
  • ***
  • Post: 337
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Sincronizzazione SqLite & DB remoto
« Risposta #2 il: 25 Giugno 2015, 14:36:00 CEST »
0
E' appunto una soluzione quick&dirty con tutti i limiti del caso; vale a dire che tutte le volte sei "obbligato" a scaricarti tutto il db, non si possono sfruttare accorgimenti come l'incrementale ... :(
Non sarebbe una tragedia ma avrebbe comunque la vita segnata; ora con 4-5Mb me la potrei pure cavare, ma con l'aumentare delle dimensioni il tutto diventerebbe lento e con un inutile spreco di risorse ...

Inoltre questa soluzione non prevede accorgimenti come notifiche push che in automatico avvertono che il DB centrale è stato variato e quindi aggiornano il DB locale e così via (connettività permettendo), verrebbe lasciato all'utente allinearsi quando meglio crede ... :(


Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 622
  • Respect: +136
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Sincronizzazione SqLite & DB remoto
« Risposta #3 il: 25 Giugno 2015, 14:50:50 CEST »
0

Concordo.

Io in passato ho dovuto implementare un meccanismo di sincronizzazione come quello che serve a te, ma (forse ingenuamente) non ho nemmeno pensato all'esistenza di framework che facciano il lavoro sporco, quindi non so suggerirti alcuna soluzione.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline wlf

  • Utente normale
  • ***
  • Post: 337
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    Xperia
Re:Sincronizzazione SqLite & DB remoto
« Risposta #4 il: 26 Giugno 2015, 14:34:28 CEST »
0
Veramente anche io un App precedente, con una sola tabella, ho già implementato il tutto "manualmente" ... ma ora invece, avendo decine di tabelle da passare, mi sono chiesto se ci sia una soluzione più intelligente. ;)
Sbagliando si impara dicono ... :)

Trovo sorprendente che bene o male tutti gli sviluppatori hanno lo stesso problema di realizzare anche la parte server oltre all'App e non ci sia qualcosa di già disponibile ... :(

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Sincronizzazione SqLite & DB remoto
« Risposta #5 il: 27 Giugno 2015, 18:43:08 CEST »
0
Per ora non mi è mai servito, quindi non so se funziona e sopratutto se è possibile utilizzarlo con Android. Qui spiega come utilizzare il protocollo Raft consensus  per sincronizzare più database SQLite tra di loro http://www.philipotoole.com/replicating-sqlite-using-raft-consensus/

Inviato dal mio Nexus 5 utilizzando Tapatalk

adb logcat | tee /tmp/logcat | grep TAG