Kotlin中从Firebase获取administrator实际值而非null的方法
解决Firebase实时数据库获取administrator字段返回null的问题
检查数据库路径准确性
确认代码中$restaurantUID变量的值,和Firebase数据库里restaurants节点下的目标子节点ID完全匹配,包括字符拼写、大小写、是否存在多余空格等细节。验证数据库读取权限
登录Firebase控制台查看实时数据库规则:- 如果当前规则要求用户认证后才能读取(如默认规则
{ "rules": { ".read": "auth != null", ".write": "auth != null" } }),但你的应用请求数据时用户未完成认证,就会返回null。 - 开发环境可临时设置测试规则排查问题(上线前务必修改为安全规则):
{ "rules": { ".read": true, ".write": true } }
- 如果当前规则要求用户认证后才能读取(如默认规则
正确提取字段值
路径和权限确认无误后,从DataSnapshot中正确提取字段值,同时添加失败监听排查异常:FirebaseDatabase.getInstance().getReference("/restaurants/$restaurantUID/administrator") .get().addOnSuccessListener { snapshot -> val adminValue = snapshot.getValue(String::class.java) Log.d("key", "administrator的值:$adminValue") }.addOnFailureListener { exception -> Log.e("key", "获取数据失败", exception) }
内容的提问来源于stack exchange,提问作者LorenzDM
相关产品推荐
相关产品推荐

