Можно сформировать базу заранее и подключать ее в приложении. Если какие-то данные изменились(уроки/вопросы/ответы) - формируйте новую базу, подключайте ее и выпускайте обновление приложения.
Вам нужна документация по проверке интернет подключения?
У каждой платформы свои способы.
Пишите в гугл how to check internet access android/ios/wp и первой ссылкой получаете решение.
Чистая java?
Для iOS еще есть Swift.
Куда лучше идти - зависит только от ваших предпочтений.(в моём случае выбор был сделан из-за отсутствие apple устройств )