2013-06-15 14 views
9

Questo titolo mi meraviglia di quale sia la caratteristica più adatta per il salvataggio di dati di dimensioni medio-grandi su un'applicazione specifica. So che ci sono alcune domande recenti che ho visto su Stackoverflow riguardo al salvataggio dei dati con queste funzionalità, ma voglio sapere, come quello che ho detto, ciò che più si adatta. Hai qualche suggerimento riguardo a questo?Salvataggio dei dati su Android: Archiviazione file vs Database SQLite e preferenze condivise

+0

dipende dai dati. Il termine "medio grande" si riferisce al volume totale di dati o al numero di record o entrambi? – MarsAtomic

+0

@MarsAtomic: questo "dati medio-grandi" che ho menzionato si riferiva al numero di record di dati, quindi, varia anche al suo volume mentre espande i record di dati. mi dispiace per averlo reso vago. :) – stryker

+0

Nel tuo caso suggerirei di andare con SQLite in quanto può essere utilizzato per recuperare facilmente rispetto a File Storage. E le preferenze condivise di solito sono pensate per salvare le preferenze e personalmente penso che non dovrebbe essere usato nel tuo caso. Inoltre, se si utilizza la memorizzazione dei file, sarà necessario elaborare più cose manualmente.Quindi penso che SQLite sia la soluzione migliore tra le tue opzioni. – Milan

risposta

6

Le preferenze condivise sono migliori per cose come le impostazioni o piccole quantità di dati. I dati memorizzati nelle preferenze condivise sono memorizzati in coppie chiave-valore. Ciò rende più semplice il recupero dei dati, ma non esiste un modo veramente efficiente di interrogare/cercare una specifica porzione di dati.

Il database è un'implementazione di SQLite. Questo è utile quando c'è una grande quantità di record da archiviare che hanno tutti gli stessi campi/simili. Poiché è SQLite, puoi scrivere query per ottenere record specifici dalle tabelle.

Non ho più esperienza di salvataggio nel file system per l'archiviazione, quindi qualcun altro dovrà parlare con quello.

Ecco un collegamento a un'altra discussione StackOverflow che confronta SQLite e Preferenze condivise. Pros and Cons of SQLite and Shared Preferences, così come la documentazione di Android che fornisce maggiori dettagli su come funziona ciascun metodo. http://developer.android.com/guide/topics/data/data-storage.html

+0

Il confronto tra database SQLite e preferenze condivise è per lo più concluso. Tuttavia, voglio sapere anche su File System parte su come fare i suoi dati, considerando il risparmio, la sua velocità ed efficienza. – stryker

+0

@stryker: Dal momento che si dispone di una discreta quantità di dati, il salvataggio nel file system avrebbe probabilmente prestazioni inferiori rispetto al database. Per accedere a un dato devi caricare il file e analizzarlo finché non trovi i dati che stai cercando. Se è necessario modificare, è necessario apportare le modifiche e quindi salvare nuovamente il file. – JFeather

+0

Quindi, in questo modo, è solo qualcosa per manipolare il file dentro e fuori, il permesso di leggere, scrivere e/o eseguire. Questa particolare questione avrà molto da fare. :) – stryker

10

Preferenze condivise

memorizzare i dati primitivi private in coppie chiave-valore.

Storage interno

memorizzare i dati privati ​​della memoria del dispositivo.

External Storage

Memorizzare i dati pubblici sulla memorizzazione esterno condiviso.

SQLite database

Conservare i dati strutturati in un database privato.

connessione di rete

Memorizzare i dati sul web con il proprio server di rete.

secondo official Website

Problemi correlati