RoboSpice и Jsoup

У меня есть приложение, в котором я использую Jsoup для получения HTML-файла из Интернета и разбора его в POJO. Затем я использую настраиваемый поставщик контента, чтобы сохранить мои POJO в базе данных SQLite. Это много кода, и некоторые вещи сложно реализовать, особенно кеширование (то есть, как определить, что мой объект уже находится в базе данных, как управлять истечением и т. Д.). От взгляда через интернет я понял, что RoboSpice может прийти на помощь, так как в кешировании прозрачно. Тем не менее, я не нашел никакого примера, как подключить настраиваемый парсер (мои результаты не являются ни JSON, ни XML, а просто чистым HTML, который я сейчас разбираюсь с Jsoup). Поэтому я был бы признателен, если бы вы могли указать мне на какой-то родственный пример.

Вот более подробное описание того, что я делаю. Мое приложение читает определенный сайт, чтобы получить списки определенных записей. Эти записи основаны на календарях, и я прошу их ежемесячно. Запрос каждого месяца возвращает мне список записей за этот месяц. Я хочу, чтобы эти запросы были кэшируемыми и запрашиваемыми, поэтому мне нужен бэкэнд базы данных, чтобы я мог выполнять собственные SQL-запросы против него. Какую конфигурацию RoboSpice следует использовать, какие расширения и какие образцы кода я могу использовать?

Заранее спасибо.

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

Обычно люди аннотируют Pojo, скажем, для Jackson, и они запрашивают веб-сервис, затем результат анализируется через jackson, и вы получаете свое Pojo. RoboSpice просто переформатирует ваше pojo в json, используя jackson, поскольку разбор / форматирование считается биекцией.

В вашем случае вам придется вызывать свой собственный ObjectPersister для вашего класса Pojo и самостоятельно позаботиться о его формате персистентности. Когда вы храните свои pojos в базе данных, модуль RoboSpice ormlite может помочь, но он все еще экспериментальный.

Взгляните на образец модуля ormlite RoboSpice .