java - 反序列化错误时使 Firestore 缓存无效

标签 java android firebase google-cloud-firestore

我目前正在运行数据库的开发实例 - 其结构/模式也在处理中。结果,有时 Android 客户端会因为 RuntimeException java.lang.RuntimeException: Could not deserialize object. 而崩溃,就像内置转换器工厂需要一个 String 但收到一个 int 等。

错误很有用,因为它指出了错误的来源。然而,问题在于当我在 Firestore 后端修复数据时,它并没有立即反射(reflect)在 Android 客户端中。该应用程序尝试使用缓存数据(无效数据)填充 RecyclerView,因此每次启动时它都会崩溃,直到我完全重置该应用程序。

有没有办法通过使缓存无效或在发生时查找更新的数据来处理此错误?

最佳答案

您的生产代码必须能够适应 Firestore 中可能发生的变化。这可能不会改变,因此您应该只发布您有信心在应用中处理的更改。

在测试期间,如果您所做的更改会破坏您的应用,只需卸载并重新安装该应用即可清除缓存。

关于java - 反序列化错误时使 Firestore 缓存无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631675/

相关文章:

javascript - 如何在网络中使用 Firebase 查找和删除

java - Java 中的重写方法

java - Ajax 调用后重定向到一个页面,其中 URL 在 Spring Controller 中确定

android - TabLayout 隐藏/显示动画

java - 在Java中为异步调用添加超时

javascript - 如何使用 rxjs 返回结果列表

java - 过滤现有的 Selenium 元素

java - CountDownLatch 的 latch.await() 方法与 Thread.join()

android - OSMDroid 离线 map ,带有来自自定义服务器的 zip

Android Kotlin 类具体化问题