Могу ли я совместно использовать базу данных SQLite между настольным приложением и приложением iPhone - PullRequest
1 голос
/ 29 марта 2011

Я пишу приложение, которое состоит из двух частей. Настольное приложение запускается на рабочем столе (возможно, в приложении AIR) и приложение iPhone, которое работает на iPhone. Я новичок в разработке для iPhone.

Оба приложения будут работать с одинаковой базой данных sqlite. В идеале я хотел бы как-то скопировать файл базы данных sqlite в папку «Документы» мобильных приложений и работать с ним там, и наоборот, используя синхронизацию iTunes.

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

Большинство решений, которые я нашел, предполагают, что база данных хранится в отдельном формате, таком как MySQL, и что данные должны быть как-то сериализованы и десериализованы. Я просто хочу попробовать и использовать тот же файл и скопировать файл поверх.

1 Ответ

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

SQLite - это однопользовательская база данных. Если вы идете по пути «копировать базу данных», то вы рискуете потерять данные. Если пользователь настольного компьютера добавил данные, а пользователь iOS добавил данные, чьи-то данные будут потеряны при копировании файла.

Вы можете реализовать свой собственный алгоритм "синхронизации", который идентифицирует изменения между базами данных и поддерживает их синхронизацию. Это может быть боль, но это общее решение, и я бы порекомендовал. Я сделал это таким образом для приложения для ПК / iOS.

Вы можете использовать сервер базы данных, но для подключения к нему потребуется сетевой доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...