Firebase实时数据库android java



有人能回答我的问题吗:为什么我不能像这样在根目录中创建子目录:

mDatabase.child("teams").child(uniqueIDstr).child("members").child(currentUser.getEmail()).setValue("XD");

因为像这样的东西工作正常:

mDatabase.child("users").child(currentUser.getUid()).child("groups").child(uniqueIDstr).setValue("group");

问题在于此调用child(currentUser.getEmail())。电子邮件地址始终至少包含一个.,并且在Firebase实时数据库的密钥中不允许使用该字符。当您运行非常明确地告诉您这一点的代码时,您实际上应该得到一条错误消息。

常见的解决方案是";编码";电子邮件地址,例如通过从中删除.或通过将每个.更改为,。后者是一个巧妙的技巧,因为,不允许出现在电子邮件地址中,而则允许出现在实时数据库密钥中

最新更新