Лучшие стратегии для синхронизации, когда локальные данные изменяются несколько раз - PullRequest
0 голосов
/ 08 мая 2018

Я много читал о стратегии автономного кэширования, но, к сожалению, я не нашел ничего, что могло бы удовлетворить мои требования.

Допустим, у меня есть список Order в моей локальной базе данных, который необходимо синхронизировать с сервером, если один из них был изменен. Орден может иметь несколько статусов: Новый, Запущенный, Приостановленный и Завершенный. Изменения статуса должны быть последовательно синхронизированы с сервером, поскольку порядок также важен.

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

Каковы наилучшие стратегии для хранения всех изменений состояния, когда устройство находится в автономном режиме? Я думаю о дублировании таблицы Order или создании новой для данных синхронизации, потому что могут быть и другие объекты, а не только Orders.

Любой совет будет высоко ценится.

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

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

0 голосов
/ 08 мая 2018

Использовать базу данных Firebase для автономной базы данных. Синхронизируется автоматически при активном интернет-соединении.

Добавьте строку ниже в вашем Application классе:

FirebaseDatabase.getInstance().setPersistenceEnabled(true);
...