首页 > 解决方案 > 如何将 API 中的记录删除应用到连接到此 API 的应用程序?

问题描述

我的 Android 应用程序已连接到 API。它获取数据,存储在设备的数据库中,如果设备没有连接,它会将本地数据库中的数据显示为表现良好的应用程序。现在,问题是如果我删除远程服务器中的某些内容,它不会反映在设备的数据库中。这是一个带有 MySQL 的 Django API,托管在 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)
}

有什么事情要做吗?我想清除本地数据库中的所有数据并插入新数据不会很好,但我想不出另一种选择。

标签: androidsql-deleteandroid-roomandroid-architecture-components

解决方案


推荐阅读