目前正在学习Firebase并遇到了一个奇怪的问题。基本上Android Studio抱怨它无法将long
转换为String
,即使该字段存储为字符串且变量设置为字符串。
经过漫长的调试过程后,我手动完全重新创建了数据,新数据完全相同,只更改了集合的名称。
我引用了新系列,它立即起作用。我唯一能想到的是,有些字段以数字开头,但我将它们更改为字符串。也许它仍然以某种方式坚持旧的数据类型?
如果是这种情况,我该如何防止它发生?或者是否有办法在某处清除某些缓存数据?
答案 0 :(得分:0)
为了获得一致的数据并避免这样的错误,如果您使用的是Firebase Realtime数据库,则应在每个节点中存储相同类型的值;如果您使用的是Cloud Firestore,则应在每个文档下存储。
这是因为在Java中你无法简单地将long
类型的变量强制转换为String
。请注意,这与缓存数据无关。