2009-10-14 3 views
2

Я разрабатываю приложение на Android, которое будет произвольно выбирать и отображать вдохновляющую цитату (или стих) из большой коллекции цитат. На Android я могу выбирать между плоским файлом и базой данных SQLite.Должен ли я использовать плоский файл или базу данных для хранения котировок для приложения случайных котировок на Android?

приложение должно удовлетворять следующим условиям:

  1. масштабироваться до 10^6 цитат и/или стихи

  2. Будьте очень быстро (то есть получать и отображать цитаты, сразу на ощупь кнопки)

  3. иметь возможность загружать новые цитаты из внешнего источника (в формате я еще не решил)

Какой формат данных я должен использовать? Благодарю.

ответ

3

Я бы с очень простыми базами данных, за одним стола:

Quotes 
ID   sequential integer PK 
Quote  text/string 

с возможным «осмотрены» битовым полем, что вы можете обновить, чтобы предотвратить дубликаты. Создайте случайное значение и выберите эту строку из таблицы, отметьте ее и просмотрите.

Проблема с плоским файлом заключается в быстром поиске и чтении цитаты из середины файла. Это то, что делает база данных. Также с «плоским» файлом у вас будет много потерянного пространства в конце строк.

Кроме того, если вы можете загрузить новые кавычки, зачем заполнять 10^6 в любой момент времени? просто загрузите достаточно, чтобы приложение продолжалось и проходило через них в последовательном порядке, удаляя просмотренные и загружая новые. Этот подход потребует от вас отслеживания последней загруженной цитаты, поэтому вы всегда загружаете новые.

+0

Спасибо! –

+0

Масштабируемый и доступный для поиска, хмммм - звучит как db для меня :) – Bostone