Каков наилучший способ обновить локальную базу данных SQLite при обновлении firestore? - PullRequest
0 голосов
/ 17 декабря 2018

Мне нужны предложения о том, как обновить список избранных фильмов пользователя, который хранится локально в базе данных SQLite на его телефоне Android.В MainActivity есть отдельный фрагмент, где он может получить доступ к списку своих любимых фильмов и отсортировать его по имени, по дате выпуска, по добавлению и т. Д. Теперь я вроде как взломал себе контрольно-пропускной пункт, когда все фильмы в базе данных бэкэнда получилиобновленный, его список избранного остается нетронутым, и, конечно, этого следовало ожидать, потому что его данные хранятся локально.Это вызывает многочисленные проблемы, например, когда он добавляет фильм с неофициальной датой выпуска, а в серверной базе данных этот фильм обновляется с официальной датой выпуска, данные о выпуске фильма остаются такими же, как при добавлении, и никогда не изменяются.

Мой бэкэнд находится в firebase firestore, и я подумал о нескольких решениях, но все они могут потребовать многократного чтения в firestore в зависимости от размера списка избранного пользователя.

Два решения, о которых я подумал, которые я не очень люблю использовать, потому что они оба требуют большого количества чтений к бэкэнду.

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

Каков наилучший способ обновления локальной базы данных SQLite при обновлении бэкэнда?

И я бы очень хотел сохранить его список избранных локально и не хранить его в бэкэнде.из-за разных причин, в частности, чтобы сэкономить на моем счете на пожарную базу.

1 Ответ

0 голосов
/ 18 декабря 2018

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

...