Как именно я создаю приложение, которое синхронизирует информацию из локальной базы данных в облако? - PullRequest
0 голосов
/ 06 апреля 2011

Итак, я знаком с основами разработки Android, но я был озадачен некоторыми вещами.У меня есть локальная база данных на телефоне.Как заставить его синхронизироваться с каким-либо сервером в облаке?Я имею в виду, каков весь процесс, как мне написать код для этого?Даже некоторые учебники / объяснения / руководства будут полезны.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 07 апреля 2011

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

У Google есть демонстрационное приложение под названием JumpNote, которое демонстрирует приложение Android, которое синхронизируется с приложением Google Web Toolkit (GWT), работающим на Google App Engine ( GAE). Использование этого в качестве отправной точки было бы чрезвычайно хорошей идеей. Если в вашем приложении мало трафика, хостинг GAE будет бесплатным. GWT также является фантастическим способом написания действительно насыщенных веб-приложений. Поскольку GWT - это Java, это позволит вам делиться классами между вашим Android-приложением и веб-приложением (например, POJOs ), экономя время и уменьшая дублирование.

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

0 голосов
/ 07 апреля 2011

Общий способ сделать это - включить поле последней модификации в ваши локальные и удаленные таблицы.

Затем вы запрашиваете строки на сервере, где последняя измененная новее, чем последнее значение изваша предыдущая загрузка.Точно так же вы загружаете все локальные строки, где последняя измененная новее, чем последняя загрузка.Разрешение конфликтов - это то, к чему вам нужно обратиться, и иногда оно обрабатывается временем последнего изменения для каждого поля в строке, а не для каждой строки.

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

Надеюсь, это поможет,

Фил Лелло

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