Организация RSS Reader - PullRequest
       8

Организация RSS Reader

1 голос
/ 10 марта 2010

Я создаю свой собственный RSS Reader и, чтобы увидеть, какие элементы RSS уже были загружены, я конвертирую ссылки (каждого элемента) в хеши MD5. Когда RSS-канал загружен, он добавляет все элементы в объект ListView, а затем проверяет MD5-хэши на соответствие текстовому файлу и удаляет те, которые уже существуют. Таким образом, отображаются только новые элементы.

Теперь это работает прямо сейчас, потому что у меня всего 5 каналов, и каждый канал загружает только около 10 элементов, но с точки зрения долгосрочного использования текстовый файл будет загроможден очень старыми хэшами MD5. Мне интересно, лучше ли для такой базы данных SQLite, например, сохранить ссылку на фид, хэш MD5 и дату. Но даже тогда база данных будет расти все больше и больше и в конечном итоге станет очень медленной.

Как мне решить эту проблему?

Ответы [ 3 ]

1 голос
/ 10 марта 2010

Почему бы не использовать обновленное поле в RSS таким образом, вам нужно сохранить последнюю дату выборки и сравнить ее с датой обновления каналов.

2010-03-10T14: 27: 03Z

обновлено> last_fetched_date = получить канал

1 голос
/ 10 марта 2010

Если вы сохраняете дату последнего получения хеша, обновляйте дату каждый раз, когда вы проверяете фид, и элемент все еще существует, и создайте подпрограмму обслуживания, которая удаляет даты старше заданного интервала.

Запускайте эту процедуру обслуживания, скажем, один раз в день. Для этого вы можете использовать базу данных или даже файл с плоским кэшем (в формате XML или чего-то еще). Затем вы можете сериализовать / десериализовать массив ваших хэшей MD5, даты и т. Д., Удалить любой из массива, который вам не нужен затем снова сериализовать массив обратно в файл кеша.

0 голосов
/ 10 марта 2010

SQLite довольно быстрый, даже с «большими» файлами. Потребуется немало усилий, чтобы база данных стала достаточно большой, чтобы стать проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...