5 июл. 2014 г.

Синхронизация БД с несколькими приложениями Android

Здесь мы писали о синхронизации между Андроид устройством и сервером Гедымин.

Поскольку у нас появляется второе приложение, упомянутый алгоритм следует расширить для поддержки произвольного количества приложений и произвольного количества наборов данных в рамках каждого приложения. А именно:

  1. В таблицу с версиями данных добавляем поля:
    1. ИД приложения, для которого готовятся данные. Целое число. Определяется проектировщиком/разработчиком.
    2. РУИД потребителя данных.
  2. Аналогичные поля добавляется в таблицу с командами изменения данных.
  3. При установке связи приложения с сервером передаем ИД приложения и РУИД потребителя. Вместо РУИД потребителя могут использоваться данные, которые позволя однозначно установить потребителя и определить его РУИД на базе данных сервера.

2 комментария:

igor6003 комментирует...

А если надо чтобы несколько пользователей одновременно могли, например, делать приёмку продукции на склад, т.е. вносили данные в одну и ту же таблицу.
Как тут корректно делать синхронизацию всех локальных баз с одной на сервере?
Может лучше сделать web-клиента, тогда можно через любой браузер вгонять данные
в нужные окошки на web-странице и все вопросы с синхронизацией отпадут, а данные сразу будут в базе сервера. В 1С, кстати, такой клиент есть.
У нас такой простенький web-сервер для вывода нужных отчётов из базы сделан на php.

Andrei комментирует...

Веб клиент это хорошо, но мобильное приложение подразумевает мобильность, т.е. в том числе и независимость от наличия и качества сетевого соединения. Тут без локальной БД и синхронизации не обойтись.

Отправить комментарий