Nic*_*aro 4 firebase firebase-realtime-database
我刚刚发现 Firebase 有一些很奇怪的东西,我想知道是我做错了什么,或者是否有解决这个问题的方法。
基本上,这就是我在开发应用程序时一直写的内容(这正是我所期望的):
nscoachtools@gmail¸com
maxMatches: 60
maxPlayers: 500
maxTeams: 30
userId: "SnMuRZEVqyN***...***hv2"
userMail: "nscoachtools@gmail.com"
userName: "Nicola Salvaro"
userPicture: "https://lh4.googleusercontent.com/-L7lSPz0VJ9A/..."
userToken: -1
这是我在发布模式下构建应用程序后所写的内容:
nsalvaro77@gmail¸com
a: "Nicola Salvaro"
b: "ESjqwuh***...***wg1"
c: "nsalvaro77@gmail.com"
d: "https://lh4.googleusercontent.com/-2kwSEmLEN1c/..."
e: -2
f: 30
g: 500
h: 60
userToken: 1499775285255
每个“标题”都被一个字母代替。而 "e: " 应该是 "userToken: " 然后,当我尝试更新它时,它用正确的字符串写了它,但不是在原始值的顶部......只是写了一个新的。然后,当我尝试读取完整用户时,它会获得“e:”的值,而不是“userToken:”的值。
我做错什么了吗?
在发布模式下,您的 Android 应用程序正在被 Proguard 缩小。此过程去除未使用的方法并使其他方法名称更短。
因此,您的 POJO 类(您从 Firebase 读取/写入的类)正在获取新的方法名称,而 Firebase 会反射性地使用这些方法名称来确定 JSON 中的属性。
解决方案是告诉 Proguard 不要修改 POJO 的方法名称。
更多相关信息:
@Keep,请参阅Firebase 在 class 上找不到要序列化的属性。| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |