I dati devono essere archiviati nel database locale in Android quando si utilizzano in modo intensivo i servizi REST?

3

Diciamo che ho un'applicazione che cambia continuamente i dati. Le modifiche sono così frequenti che in pratica è necessario aggiornare i dati ogni volta che si apre una schermata e si continua ad aggiornarla. Vale la pena implementare un database locale per tale applicazione?

L'implementazione del database in tale applicazione sembra ridondante perché:

  • La struttura dei dati potrebbe essere complessa (array, parametri facoltativi e così via) e quindi usare i cursori non è un modo molto efficiente per passarci intorno
  • I dati non devono essere archiviati per molto tempo
  • Se ottimizzato per richiedere i dati filtrati in determinate schermate (per ridurre il traffico di dati), è necessario assicurarsi di filtrare gli aggiornamenti del database in modo tale che i dati non filtrati (che potrebbero essere utilizzati da altri schermi) non siano interessati. Non così difficile ma ancora qualcosa da sviluppare (e testare)

Tuttavia, l'implementazione del database locale potrebbe significare una navigazione più veloce. Ma ancora, non è vero se le richieste di servizio sono ottimizzate per evitare l'invio di dati ridondanti.

Applicazioni come Play Store, Facebook, Google+ utilizzano database locali per replicare le strutture di dati archiviate nel database remoto? Voglio solo sapere qual è la pratica comune per lo sviluppo di applicazioni pesantemente basate sui servizi web.

    
posta Pijusn 30.07.2014 - 11:50
fonte

1 risposta

5

finché

  • va bene che l'app non funzioni quando non è disponibile una connessione di rete (simile a una pagina Web)
  • la tua app non ha bisogno di memorizzare ulteriori informazioni come "l'utente ha visto queste informazioni alle 15:30"

non devi implementare una cache.

se vuoi memorizzare nella cache i dati per un accesso più veloce perché inserirli in un database con una struttura dati complessa?

non è sufficiente per salvare ogni risultato del servizio come un file in cui i parametri di ricerca creano il nome del file (cioè basato sul resto-url)?

un browser memorizza i file html / gif / css non analizzati e li archivia in tabelle come pagina, link, didascalia, ....

dovresti già avere un formato di serializzazione per il trasporto dal servizio al client Android (JSON, XML, ....) perché non usare questo formato anche per la cache dei file

    
risposta data 30.07.2014 - 12:51
fonte

Leggi altre domande sui tag