Мое приложение Android подключено к API. Он извлекает данные, хранит их в базе данных устройства, и, если у устройства нет подключения, он отображает данные из локальной базы данных как приложение с хорошим поведением. Теперь проблема в том, что если я удалю что-то на удаленном сервере, это не отразится на базе данных устройства. Это Django API с MySQL, размещенный на PythonAnywhere.com.
Ниже приведен метод в хранилище действия, которое извлекает данные и сохраняет их в базе данных устройства.
fun fetchPosts() {
remote.fetchPosts()
.doOnNext { posts -> local.insert(posts) }
.onErrorResumeNext { _: Throwable -> Observable.fromCallable { local.fetchPosts() } }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ outcome.success(it) },
{ error: Throwable -> outcome.failed(error) }
).addTo(compositeDisposable)
}
Есть что-то сделать? Я предполагаю, что уничтожение всех данных в локальной базе данных и вставка новых данных были бы не очень хорошими, но я не могу придумать другую альтернативу.