Dovrei usare un file flat o un database per memorizzare le citazioni di citazioni app a caso su Android?

StackOverflow https://stackoverflow.com/questions/1565869

Domanda

sto sviluppando un app su Android che in modo casuale selezionare e visualizzare una citazione di ispirazione (o verso) da una vasta collezione di citazioni. Su Android posso scegliere tra un file flat e un database SQLite.

L'applicazione deve soddisfare le seguenti condizioni:

  1. essere scalabile per 10 ^ 6 preventivi e / o versi

  2. essere molto veloce (vale a dire recuperare e visualizzare una citazione, subito con la semplice pressione di un tasto)

  3. Essere in grado di caricare le nuove citazioni da una fonte esterna (in un formato che non ho ancora deciso)

In che formato dei dati devo usare? Grazie.

È stato utile?

Soluzione

mi piacerebbe andare con un database molto semplice, singola tabella:

Quotes
ID          sequential integer PK
Quote       text/string

con un possibile campo di bit "Visto", che è possibile aggiornare per evitare duplicati. Genera un valore casuale e selezionare quella riga della tabella, segnarlo visualizzato e da fare con esso.

Il problema con un file flat è rapidamente trovare e leggere una citazione a partire dalla metà del file. Questo è ciò che un database fa bene. Anche con un file "flat" avrete un sacco di spazio sprecato alla fine di linee di file.

Inoltre, se è possibile caricare nuovi preventivi, perché popolano 10 ^ 6 in qualsiasi momento? basta caricare sufficiente a mantenere l'applicazione in corso e marciare attraverso di loro in un ordine sequenziale, la cancellazione di quelli già consultati e il caricamento di nuovi. Questo approccio richiederebbe di tenere traccia degli ultimi citazione caricato, in modo da caricare sono sempre di nuovi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top