Сохранение данных приложения на iPad / iPhone - PullRequest
1 голос
/ 18 ноября 2011

Я создал корпоративное универсальное приложение (iphone / ipad), которое использует odata sdk для связи с базой данных сервера sql. Все отлично, отлично работает. Проблема (ну, на самом деле, не проблема, но в некотором смысле ограничение) заключается в том, что это решение с подключением, если вы хотите получить или обновить информацию, вам необходимо подключиться к Интернету.

Я сейчас пытаюсь добавить отключенную функциональность. У меня вопрос, есть ли способ сохранения больших (относительно больших) объемов сериализованных данных на фактическое устройство. Я не хочу хранить его в приложении, потому что

  1. очень быстро нарастит память в приложении
  2. в случае сбоя приложения они потеряют данные

Любые идеи о том, как я могу пойти по этому поводу?

Ответы [ 3 ]

3 голосов
/ 18 ноября 2011

Используйте базовые данные ... У Apple очень хорошая документация, зацените!

2 голосов
/ 18 ноября 2011

Звучит так, как будто вы хотите синхронизировать данные между онлайн-системой и устройством. Синхронизация - очень сложная задача для идеальной работы. Если ваш веб-сервис совместим с REST, я бы посмотрел на RestKit как на решение для связи с вашей онлайновой системой и локального хранения этих данных в Core Data на iPad.

В конечном итоге вы хотите реплицировать данные онлайн с локальной базой данных, я бы порекомендовал Core Data для этого, если это большой объем данных. Основные данные сами по себе являются сложной структурой и потребуют хорошего понимания.

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

Существуют некоторые системы, которые могут справиться с этим для вас, если ваша онлайновая система также находится в стадии разработки, вы можете рассмотреть CoucheBase , которая имеет мобильный аналог, который решает эту сложную проблему синхронизации для вас.

Удачи!

1 голос
/ 18 ноября 2011
...