Android синхронизировать sqlite с Parse.com

Привет, ребята, мне нужна ваша помощь, чтобы решить эту проблему, которая у меня есть. Какой-то парень сказал мне, что синхронизация sqlite (локальная БД в моем устройстве Android) может синхронизироваться с БД parse.com, как это возможно = я имею в виду, если необходимо скопировать всю мою БД из Parse.com и вставить в мою локальную БД sqlite но я уверен, что это не лучший способ.

Например, если я изменю некоторые данные из базы данных parse.com, это изменение автоматически обновит базу данных sqlite моего устройства при наличии подключения к Интернету. ¿Каков наилучший способ синхронизировать это? Пожалуйста, если вы можете дать мне несколько примеров, советов и т. д. Я буду признателен. Привет

2 ответа

Решение

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

Я создал простую и удобную библиотеку, которая позволяет синхронизировать данные между локальной базой данных SQLite и Parse.com. Вот его репозиторий GitHub: ParseDataSync для Android

Синхронизация опирается на syncId, syncDate поля и deleted флаг, предложенный в обсуждении на parse.com. Поскольку он зависит от даты, он не будет работать, если время на устройстве неверно (или отличается от сервера parse.com). Таким образом, вы должны разрешить такую ​​ситуацию самостоятельно.

Библиотека предоставляет аннотации для сопоставления ваших классов сущностей OrmLite с классами Parse. В настоящее время это предварительный просмотр, но я планирую сделать его более стабильным и функциональным.

Оставьте комментарий или создайте проблему на GitHub. Буду очень признателен за ваш отзыв.

Этот вопрос задавался на форумах в Parse.

Конечный результат: все дело в том, чтобы делать это вручную.

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

Обработка удалений на клиенте и сервере будет означать либо мягкое удаление (логический флаг IsDeleted), либо наличие таблицы захоронения, либо какой-либо другой способ их отслеживания. Для сервера вы можете добавить Cloud Code, который запускается на / перед удалением. На стороне клиента вам нужно будет изменить код, который может выполнить удаление в локальной базе данных.

Выполнение сначала на сервере, либо на клиенте будет зависеть от того, какие конфликты вы ожидаете и как вы хотите их разрешать.

Другие вопросы по тегам