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

时间:2018-02-05 21:20:36

标签: java android firebase google-cloud-firestore

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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