Dropbox, Core Data и JSON - PullRequest
       20

Dropbox, Core Data и JSON

0 голосов
/ 21 августа 2011

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

У меня есть приложение для iPhone, которое использует Core Data с базой данных sqlite.Я пытаюсь осуществить простое резервное копирование / восстановление базы данных с помощью Dropbox.

Я скачал Dropbox SDK, и у меня все работает нормально, даже если я связываю, загружаю и скачиваю мой файл .sqlite.

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

Легче сказать, чем сделать.Я никогда не работал с Java и никогда раньше не реализовывал ничего подобного JSON, поэтому мне пришлось попытаться выяснить, с чего начать.

Я в основном понимаю, что происходит, но у меня чертовски многовремя выяснить, как это сделать.Я думаю, что нашел способ перевести модель Core Data в формат JSON (и здесь я использую термин «думать» свободно).Но что тогда - что именно я могу загрузить в dropbox?Должен ли я как-то объединить модель (в формате JSON) и базу данных?Что загружается в Dropbox?Извините, если это кажется очевидным для большинства, это действительно не очевидно для меня, и я посмотрел.

Я готов выполнить работу, но мне кажется, что я мог бы пойти в 90 направлениях безнекоторые основные рекомендации и начало.Я не пытаюсь сделать что-то причудливое в том, что касается определения данных, которые были изменены и т. Д., Я просто хочу сделать резервную копию / восстановить всю базу данных.Мне просто нужно какое-то базовое объяснение и указание в правильном направлении.Простой пример проекта основных данных был бы потрясающим.

Я не опытный программист, но я быстро учусь.Просто сломай это легко ...

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


Спасибо, Андрей.Я не хотел «отдавать» структуру базы данных моего приложения, но теперь я вижу, что строка json не будет намного лучше, чем файл sqlite в этой области.Я сам программист (остаюсь дома, мама), так что для меня все это довольно ново.Может быть, я хочу шифрование?Но разрешено ли это для приложений iPhone в любом случае?Я вспоминаю, как они спрашивали о шифровании, когда я загрузил двоичные файлы ... Я знаю, что скоро выйдет iCloud, и я планирую реализовать это также, но с ограниченным количеством данных, которые можно синхронизировать бесплатно, я хочучтобы иметь возможность сделать простое резервное копирование, а также.Многие из моих пользователей просили об этом - резервная копия в дополнение к iTunes, которая на самом деле не является хорошей резервной копией, поскольку вы не можете восстановить данные только для одного приложения (вам придется восстанавливать все приложения на iDevice).Хм ... Какие-нибудь предложения относительно того, как загрузить файл таким способом, которым это не легко читается?Является ли шифрование подходом в этой ситуации?

Ответы [ 2 ]

1 голос
/ 22 августа 2011

JPK,

Я думаю, что вы пересекаете несколько потоков здесь.

JSON - это формат передачи данных.Итак, это не имеет ничего общего с архитектурой того, что вы пытаетесь сделать.Вы почти наверняка будете использовать JSON для связи с Dropbox.

У меня вопрос: почему вы думаете, что у пользователя не будет доступа к любым данным, которые вы отправляете в Dropbox?Я подозреваю, что вы, вероятно, не правы.У пользователя будет доступ ко всему.

Вы выполняете очень много работы.У вас уже есть файл .sqlite, сохраняемый в Dropbox.Если вы делаете это для создания резервной копии, эти данные копируются во многих других местах.Другими словами, ваша задача, вероятно, спорно и недостойным вашего времени.

1010 * Я использую JSON, REST сетей и Core Data ежедневно.Если у вас есть конкретный вопрос, я с удовольствием на него отвечу.

Андрей

0 голосов
/ 24 августа 2011

Вместо сохранения всей базы данных сохраните файл plist в Dropbox, из которого вы можете восстановить базу данных.Это предполагает, что в вашей базе данных есть много лишних вещей, которые пользователь не хочет видеть, в противном случае просто создайте резервную копию БД как есть, если это все пользовательские данные.

Вы также можете зашифровать ее, но почему?Добавление шифрования означает только то, что вы должны ответить «да», что вы используете шифрование и, возможно, не сможете продавать определенным компаниям, если вы решите зашифровать - это не запрещено.

...