android - 如何将 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)
}
有什么事情要做吗?我想清除本地数据库中的所有数据并插入新数据不会很好,但我想不出另一种选择。
解决方案
推荐阅读
- html - 宽度窄时元素被挤压
- c - 计算c中的行单词和字符的程序
- c++ - 许多 c++ 可执行文件的 Makefile
- postgresql - Docker 中的 postgres 与命名或绑定卷上的数据目录适用于 Windows Server 2019 但不适用于 Windows Server 2016
- ssas - SSAS 与 SQL Server 通信的方式
- visual-studio - 是否可以将 Visual Studio 负载测试从编码转换为可视化?
- javascript - 扩展 Polymer 3 中的纸张输入
- node.js - 使用 Application Load Balancer 的 AWS lambda 基本身份验证
- excel - 代码不会“等待”直到工作簿打开才能继续
- python - 在 pytest 中定义 setup/teardown 夹具以从模块执行功能的正确方法和位置是什么?