Возможно, вы захотите взглянуть на fyrecloud.com / amsler Это исходный код демонстрационного приложения для Android, которое реализует репликацию MySQL между сервером MySQL и базой данных SQLite на устройстве Android.
Amsler опирается на два столпа:
Он связывается с сервером MySQL по протоколу MySQL Client / Server для подключения к серверу для аутентификации и получения событий репликации в видеони происходят.
Он использует программное обеспечение Antlr lex и parse для того, чтобы лексировать и анализировать входящие события репликации, а затем преобразовывать команды MySQL в эквивалентные команды SQLite.
Отлично подходит для односторонней репликации.Вы можете имитировать двустороннюю репликацию, косвенно изменяя сервер MySQL с помощью методов типа RESTful, а затем наблюдая, как MySQL отправляет новое событие репликации обратно.
Доступ к серверу через REST достаточно прост.Однако изменение существующей установки MySQL для поддержки сериализации представляет слишком много головной боли, чтобы перечислять здесь.Amsler использует преимущества уже существующих служб репликации.REST также зависит от некоторой стратегии опроса, чтобы локально поддерживать устройство в актуальном состоянии.Опять много проблем с таким подходом.Amsler поддерживает TCP / IP-соединение с сервером, которое позволяет извещать сервер об уведомлениях об обновлениях.
Самая сложная часть Amsler - это определение лексинга / разбора.Синтаксис между MySQL, SQLite и разными версиями имеет много тонких различий.Столько различий, что нецелесообразно предоставлять переводчик в термоусадочную пленку, и вместо этого вы должны сами изменить грамматику.
Тем не менее, хорошо, плохо или уродливо, вот оно.Посмотрите, и, может быть, перчатки подходят.