2014-12-12 4 views
0

У меня есть база данных онлайн (postgresql) и локальная копия db в приложении для Android. Данные в них синхронизированы, поэтому приложение может работать в автономном режиме, но может загружать новые данные и загружать результаты, когда это возможно. Данные передаются через HTTP GET и POST-запросы.Синхронизация с неизвестной схемой базы данных в Android

У меня нет проблем с синхронизацией данных для известных таблиц, однако я бы хотел, чтобы было возможно создавать новые таблицы/изменять таблицы в онлайн-базе данных и автоматически изменять это изменение в Android db, т.е. без необходимости выпуска новая версия с обновленным кодом синхронизации. Есть ли очевидный/стандартный способ сделать это, которого я не нашел? Поисковые запросы Google, которые я выполнил, относятся только к миграции баз данных для двух из той же системы или для известной схемы.

ответ

1

Есть ли очевидный/стандартный способ сделать это, которого я не нашел?

Нет «стандартного» способа, но есть способы сделать это в зависимости от ваших требований и того, как работает ваше приложение.

Это на самом деле широкий вопрос, но разрешимый, если вы немного подумаете.

Мое приложение загружает данные с сервера ежедневно. Часть процесса загрузки включает загрузку версии файла БД (только обычный текстовый файл), похожий на следующий ...

db_version=12345 

... строковое представление предыдущей версии (если таковые имеются) сохраняется в SharedPreferences как значение int.

Если версия в файле больше, чем версия в SharedPreferences, загрузчик извлекает текстовые файлы, содержащие команды SQL для создания, удаления, изменения таблиц и т. Д. Только после того, как изменения были успешно выполнены, загрузчик фактические файлы данных и обновить данные БД (не забывая обновлять последнюю версию в SharedPreferences).

Если версия в файле такая же, как в SharedPreferences, то, очевидно, загрузка просто выполняет обычную ежедневную загрузку данных и обновление данных БД.

+1

Очевидный, когда вы его читаете. Спасибо. – James

Смежные вопросы