我是Firebase的新用户,我认为Firebase数据库生成的用户ID与使用currentUser.getUid()
获得的用户ID相同。但正如您所看到的,这两个值并不适合我当前的用户。
答案 0 :(得分:1)
正如我在屏幕截图中看到的那样,您使用两种不同的方式来获取该唯一键,uid
对象提供firebaseUser
以及push()
方法生成的唯一键。很明显不一样,因为有不同的原则。
第一个是Firebase身份验证提供的uid
,第二个是push()
方法提供的,根据生成时间生成唯一ID。
用作用户标识符的最佳方式不是uid
,pushed id
也不是电子邮件地址,因为如果用户删除了自己的帐户并再次登录,我会得到一个新的uid
。
如果您想使用uid
,这是您可以检索它的方式:
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
String uid = firebaseUser.getUid();
}
希望它有所帮助。
答案 1 :(得分:1)
这些是完全不同的东西。
您使用getUid()
获得的ID是用户注册Firebase身份验证时创建的ID。当您调用push()
方法时,其他一个是根据Firebase数据库中的当前时间戳创建的密钥。
您可以做的是使用push方法而不是使用push方法在数据库中创建新人,使用您的id来自getUid()