Я создал приложение SQLite в стиле библиотеки, используя код из примера приложения Recipes, и оно работает - обновления на одном устройстве (в конечном итоге) надежно распространяются на все другие устройства, на которых запущено то же приложение.Я тестировал его с несколькими событиями в час в течение всего дня, и все журналы транзакций попадают на каждое устройство.Однако время распространения обновлений сильно варьируется.Если я открою приложение и оставлю его в покое, пройдет довольно много времени, прежде чем облако отправит в приложение транзакции обновления, и поэтому то, что на экране останется старыми данными в течение того же самого долгого времени.Хуже того, нет никаких признаков того, что данные устарели.
Если я заставлю приложение опубликовать изменение в облаке, обновятся с распространения облакавниз сравнительно скоро.Это говорит о том, что я мог бы использовать хак, который периодически публикует бессмысленные изменения в базе данных, но даже тогда я не буду знать, получил ли я все изменения.
Первый вопрос: есть ли методы, которые будут форсировать транзакцииразмножаться существует? a Эта тема предлагает не.
Второй вопрос: есть ли способ определить, устарела ли локальная база данных?Я не хочу беспрерывно щекотать облачную копию, но делать это время от времени, пока база данных не станет текущей, может оказаться не такой уж плохой идеей.