Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Andoid Studio не может обновиться (мало места на диске) http://www.cyberforum.ru/android-dev/thread1944365.html
Я уже 3 раза переустанавливал android studio. Каждый раз программа съедает всю память на системном диске, предлагает обнову, скачивает её (или что-то ещё), не устанавливает и орёт: "Где память? Мне...
Нужно назначить OnClickListener для кнопки тот в котором она создается Программирование Android
class Main { public void main () { final Button btnNew = new Button(MainActivity.this); btnNew.setText("Еще"); ...
Ошибка при создании теста в Robotium Recorder Программирование Android
Всем добрый день! Пишу тестер с помощью Robotium Recorder, но появилась ошибка, которая не позволяет запустить создания теста вот эта ошибка: Input:...
Программирование Android Ошибка java.lang.ClassCastException: com.organizer.ToDoItemDescr cannot be cast to java.util.Map Ошибка появляется когда пытаюсь вытянуть из кастомного адаптера запись ListView. Весь лог ошибки такой: FATAL EXCEPTION: main Process: com.organizer, PID: 11828 java.lang.ClassCastException:... http://www.cyberforum.ru/android-dev/thread1943886.html
Программирование Android CocosStudio - с чего начать http://www.cyberforum.ru/android-dev/thread1943857.html
Здравствуйте! Есть здесь те,кто разбирается в написании игр или приложений для android с помощью cocos2d-x? Я новичок в этом (необходимо для диплома написать приложение на android используя...
Что лучше использовать для выполнения приложением ежедневного задания? Программирование Android
задача такая: 1) приложение должно выполнять код каждый день в определенное время (или напр. во время его первого запуска). 2) если напр. один(несколько) из дней пропущен (вчера, или три дня...
Связать Android и ПК Программирование Android
Всем доброго времени суток и приятного настроения) Делаем караоке, хотим сделать его по хитрому. Вопрос в чем, есть "звукарь", есть 1 - 2 планшета. Клиент будет наживать в планшете на определённую...
Программирование Android Как набрать номер по имени контакта Нужно набрать номер через Intent по имени контакта. Как это можно сделать? Может как-то получить список контактов, проверить на наличие, а потом вызвать звонилку. Только вот как получить номер по... http://www.cyberforum.ru/android-dev/thread1943557.html
Программирование Android Как программно удалить кнопку которую программно создал но только если она уже существует http://www.cyberforum.ru/android-dev/thread1943529.html
Есть ScrollView в котором много компонентов,чтоб не выводить сразу все решил выводить по 10 штук и снизу пихать кнопку "еще",эту самую кнопку я создаю программно ПОСЛЕ того как код выведет в...
Программирование Android Получить TimeZone по дате Добрый вечер. Нужно получить разницу во времени (TimeZone offset) , например если в Москве 2 часа дня то в Торронто 10 часов утра, т.е разница -4. это просто но если в Торронто перевели часы на час... http://www.cyberforum.ru/android-dev/thread1943467.html
demixdn
312 / 256 / 80
Регистрация: 31.10.2016
Сообщений: 619
23.03.2017, 11:43 0

Синхронизация приложения и сервера

23.03.2017, 11:43. Просмотров 1223. Ответов 10
Метки (Все метки)

Ответ

yuraha18, у каждой записи должен быть триггер того, что она отправлена на сервер и время ее обновления. Например, есть несколько полей, которые еще не отправились. В них значение триггера 0, вр.обн. - timestamp в момент создания/обновления. Вы блок записей с триггером 0 отправляете на сервер, вам приходит для каждой записи время ее записи в БД сервера (можно сделать массив из <PrimaryKey, Timestamp>) и у себя локально обновить для этих записей триггер и время. Это подтверждение для каждой транзакции. И если потом локально какая та строка обновилась, то сбрасывать это состояние триггера в 0, и время обновления, и опять же какой-то итерацией отправить все данные с 0 на сервер. На сервере вы сравниваете значение времени обновления прилетевших данных и своих данных. Все данные естественно приводить к единому часовому поясу.
Опять же, такое решение не учитывает возможности того, что несколько человек, отключенных от инета обновят одну и ту же запись, и потом при появлении инета отправят обновление на сервер. Тогда произойдет нехилая коллиция, ведь кому-то из них придут невалидные данные. Возможно тут стоит поиграться с хешем данных вместо timestamp.

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

Вернуться к обсуждению:
Синхронизация приложения и сервера
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2017, 11:43

Синхронизация файлов с http сервера
Всем привет. Совсем недавно начал работать с питоном. Есть задача синхронизировать файлы с http...

Синхронизация сервера с клиентами не переставляется
Надо синхронизировать сервер с клиентами , компов более 300 и каждому ходить не хочется , как можно...

Синхронизация времени с NTP сервера
Подскажите,пожалуйста!Нужно получить время с сервера синхронизации времени ntp.mobatime.ru. Как это...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.