Если ваши приложения должны работать в среде с ограниченными возможностями подключения, просто храните все, что вам нужно, в базе данных, и используйте опцию синхронизации, чтобы пользователь мог решить, когда у него есть подключение, обновить все или отправить данные обратно на сервер.
Другим вариантом может быть наличие монитора приложения для подключения, и когда оно используется и сеть доступна, она автоматически работает в онлайн-режиме и когда сеть не доступна в автономном режиме.
В зависимости от уровня «ограниченного подключения», я бы просто выбрал полностью автономный режим и позволил пользователю синхронизироваться. Я разрабатываю приложения, которые используются во многих отдаленных районах Южной Америки, и вариант с полным автономным режимом просто лучше. Раньше у меня были проблемы с прерывистым соединением в пограничных областях, где сеть перепрыгивала между доступным и недоступным, и это приводило к путанице при передаче данных.