Синхронизация данных с API DropBox и iOS - PullRequest
7 голосов
/ 27 января 2011

У меня есть приложение для iOS, которое хранит данные в локальном каталоге.Я хотел бы иметь возможность синхронизировать эти данные между несколькими устройствами, на которых запущено мое приложение.В настоящее время используются основные данные, но я бы хотел перейти на какую-нибудь текстовую систему хранения файлов, чтобы упростить синхронизацию.

Я ожидал, что DropBox API сделает это красиво и легко,Я мог бы сказать API просто синхронизировать содержимое моей папки данных при запуске / сохранении.Однако, похоже, что DropBox API - это не что иное, как прославленный способ загрузки и скачивания файлов.

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

Ответы [ 5 ]

7 голосов
/ 27 января 2011

Используя / metadata , получение информации о содержимом папки не может быть проще.Все, что вам нужно сделать, это проверить дату modified и, если она отличается от вашей, выполнить соответствующее действие.Он также предоставит вам метаданные для любого содержимого файла, так что вы сможете выбрать, какие файлы необходимо загружать / загружать / добавлять / удалять по мере необходимости.

Любая дополнительная функциональность, кроме той, которая сильно зависит от приложения;Вы можете сами решить, когда и как вы хотите работать с разными файлами.

Документация Dropbox API

3 голосов
/ 08 марта 2013

Ознакомьтесь с новым API DropBox Sync .

3 голосов
/ 13 марта 2011

Больше не буду повторять, так как Энди ответил на ваш вопрос, хотя вам также может пригодиться этот урок:

http://www.nanaimostudio.com/blog/2011/1/20/how-to-synchronize-your-app-data-using-dropbox-api.html

2 голосов
/ 02 апреля 2013

Как уже упоминалось, теперь доступен API-интерфейс DropBox Sync, который, я думаю, будет делать то, что вы упомянули (я не пробовал лично, так как я интегрировал поддержку Dropbox в свое приложение, используя более ранний SDK, до того, как это произошло),Этого, вероятно, будет достаточно, если вы просто работаете с Dropbox.

В моем случае я начал добавлять поддержку дополнительных сервисов онлайн-хранилища («Облако») в мое приложение и обнаружил, что оно несколькосложно разобраться с различиями между ними в том, как они обрабатывают различные понятия, такие как аутентификация, версия, наименование и т. д. Например, API-интерфейс Dropbox ссылается на файлы в соответствии с их путем, тогда как API-интерфейс Box ссылается на файлы в соответствии с их идентификатором файла (который имеет связанный путь,но я считаю, что остается прежним, если файл перемещен).Кроме того, есть также все проблемы разрешения конфликтов (слияния), возникающие, когда несколько клиентов пытаются синхронизировать конфликтующие изменения на сервере.

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

Будет ли это полезно для вас?Хотели бы вы (или другие) участвовать в таких усилиях?

(примечание к модам: я понимаю, что это может быть несколько не по теме - извините за это. Если вы можете порекомендовать более подходящий форумчтобы обсудить это, я был бы рад принять разговор там.

0 голосов
/ 27 января 2011

Существует канал RSS, который может быть ограничен одной из общих папок, но он фильтрует события, чтобы поддерживать низкий уровень громкости.

...