Ответ 1
Да. Мы интегрировали это долго назад. Он работает просто на конечных точках REST. Azure будет показывать операции CRUD как API REST.
На стороне Android нам нужно создать класс java для каждой таблицы, как и для ORM.
Синхронизация работает на основе метки времени. Нет вызова под названием SYNC. Это в основном PULL и PUSH. Мы должны ПОКАЖАТЬ наши изменения, прежде чем мы потянем. (Не так, как мы делаем в GIT pull, а затем нажмите). Обратите внимание, что порядок имеет значение. Вы должны синхронизировать таблицу в порядке.
Сначала родитель, потом ребенок. Иначе вы столкнетесь с проблемами с данными с отношениями.
Мы работали над этим долго. В то время в лазурной андроидной библиотеке было много ошибок. Надеюсь, теперь это будет исправлено. Я скоро обновляю образец кода и прикладываю сюда.
Вы можете вытащить базу данных Android SQlite и просмотреть структуру. Это даст лучшее понимание внутренней реализации. Если я правильно помню. Существует таблица, содержащая набор изменений в локальном формате в формате
Имя таблицы, первичный ключ, действие (изменено, создано и т.д.), время
Потянув, вы можете указать действие, чтобы принять конфликт. Значит, может быть несколько пользователей, которые изменили одни и те же данные. Итак, кто имеет предпочтение, можно установить как стратегию слияния.