java - Firebase 不能将 Gmail 帐户用作子帐户
问题描述
child("Members").child("billgate@gmail.com").setValue(people);
这是我在设备上运行它时崩溃的代码,我试图在我的 Android Studio 项目中插入一个 Gmail 帐户作为孩子,但由于某种原因它一直在崩溃,但是当我将它更改为一个简单的名称时它可以工作:
child("Members").child("billgate").setValue(people);
但如果我这样写而不包括@gmail.com 部分,它就可以完美地工作。但是,我需要将 Gmail 帐户设置为我的孩子。
解决方案
因为 Firebase 不允许符号作为 . 在密钥中,我建议您像这样对电子邮件地址进行编码:
name@email.com -> name@email,com
正如您可能看到的,而不是 . 我用过 ,。为此,您可以使用以下方法:
static String encodeUserEmail(String userEmail) {
return userEmail.replace(".", ",");
}
static String decodeUserEmail(String userEmail) {
return userEmail.replace(",", ".");
}
推荐阅读
- prolog - Prolog:最小功能失败
- laravel - 无法通过 facebook API 创建广告或广告素材
- javascript - 用两条规则分割和替换文本(正则表达式)
- vba - VBA 中的 Unicode UTF-8
- activeweb - 试图找出 activeweb 日志记录到一个单独的文件
- sql - 将查询添加到子查询然后不会产生任何结果
- javascript - console.log() 什么都没有出现
- arrays - SQL - 从数组中获取特定元素
- java - 具有 Function 字段的 Java 类可以被认为是不可变的吗?
- algorithm - 如何找到插入最小堆的大运行时间?