При выборе какой-то категории качается вся категория или, если она слишком большая, ее часть.
Скачанное сохраняется на телефон в удобной вам форме (SQLite, SP, еще как-то) и используется в виде кеша.
При последующем входе в этот раздел, если имеется интернет соединение данные есть два разумных пути:
- Ленивый и легкий: просто снова скачать весь раздел и затереть старый кеш
- Запарный, но няшный: проверить каким-либо образом, что данные обновились и обновить то что следует
А если при входе в уже посещенную категорию интернет отсутствует, то открыть уже сохраненный кеш.
P.S. В случае такой реализации еще и можно добавить кнопочку "Скачать всю базу" и пусть пользователь сам думает, нужна она ему вся или нет.