Я работаю над проектом, который должен синхронизировать MySQL на стороне сервера с моим приложением SQLite и наоборот. Проект будет реализован как на портале, так и на стороне приложения.
ТОЛКАТЬ
Я успешно реализовал часть приложения, где пользователь может вставлять новые данные в базу данных SQLite со статусом синхронизации «N», если нет подключения к Интернету. Если подключение к Интернету изменяется (подключение к Интернету включено), приложение отправляет свои данные из SQLite со статусом синхронизации «N» на сервер для новой вставки в базу данных MySQL. После успешной вставки этих данных сервер отправляет свой ответ приложению как «успешно», чтобы приложение могло обновить статус данных (со статусом синхронизации «N») до нового статуса «Y».
При наличии подключения к Интернету базы данных на стороне сервера и приложения вставляются со статусом синхронизации «Y».
Проблема в обратном процессе ...
ОБНОВИТЬ
Когда пользователь хочет вставить новые данные со стороны портала, сначала в базу данных на стороне сервера будут вставлены новые данные со статусом синхронизации «N». Теперь, когда приложение хочет синхронизировать (может быть выполнено с помощью того же запроса на синхронизацию из приложения (push), как указано выше, или нового запроса на синхронизацию (обновление)), сервер будет отправлять данные, статус синхронизации которых равен 'N' . После успешного получения ответа сервера приложение вставит новые данные в свою базу данных SQLite со статусом синхронизации «Y» ...
Проблема в том, как сервер может узнать, вставила ли сторона приложения успешно данные в SQLite, чтобы сервер мог обновить статус синхронизации данных с «N» на «Y»? Есть ли способ дать ответ серверу (обратный процесс!) Из приложения?
PS: Я уже искал похожие запросы, и меня это не удовлетворяет. Я не хочу использовать какие-либо рамки. В нашем проекте потребуется полная поддержка настройки.
Да, я понимаю, что время срабатывания и метод разные. Но в остальном они также используют ту же концепцию синхронизации! Как они отслеживают все изменения и новые обновления, вот мой вопрос?
Когда пользователи вставляют новые данные в портал (сервер), вы отправляете push-уведомление на телефон. Вы получите уведомление, когда есть подключение к Интернету, поэтому вам не придется проверять наличие Интернета. Затем обновите базу данных телефона и, если транзакция прошла успешно, отправьте на сервер запрос подтверждения.
push-уведомление не всегда получается, насколько я знаю. Хотя отправка запроса подтверждения на сервер - хорошая идея.
не могли бы вы уточнить, как git работает с файлами отслеживания?
Это не имеет ничего общего с git и github. Используя git / github, вы вручную указываете ему толкать / тянуть. Но в случае вашего приложения вы хотите синхронизировать, когда доступно подключение к Интернету. Оба случая разные