在Firebase身份验证(android)后在数据库中创建用户
我正在构建一个Android应用程序,我希望我的用户经过身份验证,然后添加到数据库中。现在我只使用电子邮件和密码进行身份验证,然后单击register,在Firebase控制台的Auth部分中创建用户 但我也希望将我的用户添加到数据库中。我想添加更多字段(如姓名、地址等),这些字段将存储在Firebase的用户数据库中 我真的不知道该怎么做。谁能解释一下在Firebase身份验证(android)后在数据库中创建用户,android,firebase,firebase-realtime-database,firebase-authentication,Android,Firebase,Firebase Realtime Database,Firebase Authentication,我正在构建一个Android应用程序,我希望我的用户经过身份验证,然后添加到数据库中。现在我只使用电子邮件和密码进行身份验证,然后单击register,在Firebase控制台的Auth部分中创建用户 但我也希望将我的用户添加到数据库中。我想添加更多字段(如姓名、地址等),这些字段将存储在Firebase的用户数据库中 我真的不知道该怎么做。谁能解释一下 谢谢 您应该创建一个保存用户的节点,如下所示: users: { userID1: { name: 'Raph' }, u
谢谢 您应该创建一个保存用户的节点,如下所示:
users: {
userID1: {
name: 'Raph'
},
userID2: {
name: 'Devid'
}
}
每个登录的用户都有一个唯一的uid
,可以用作密钥。您可以在用户登录时在authToken中找到它
注意这只是Firebase中用于保存用户数据的普通节点。
这是一种替代解决方案。这里有一种方法可以将注册的详细信息存储在数据库中
Map<String, String> parameters = new HashMap<>();
FirebaseDatabase mFirebaseInstance;
parameters.put(Constant.TAG_USER, strUsrS.trim());
parameters.put(Constant.TAG_PASS, strPassS.trim());
//use this if needed(pushId)
String pushId = mFirebaseInstance.getReference(YOUR TABLE NAME).getRef().push().getKey();
parameters.put(Constant.TAG_KEY, pushId.trim());
mFirebaseInstance.getReference(YOUR TABLE NAME).getRef().child(strUsrS.trim()).setValue(parameters);
Map参数=新的HashMap();
FirebaseDatabase mFirebaseInstance;
parameters.put(Constant.TAG_USER,strUsrS.trim());
parameters.put(Constant.TAG_PASS,strPassS.trim());
//如果需要,请使用此选项(pushId)
字符串pushId=mFirebaseInstance.getReference(您的表名).getRef().push().getKey();
parameters.put(Constant.TAG_KEY,pushId.trim());
mFirebaseInstance.getReference(您的表名).getRef().child(strUsrS.trim()).setValue(参数);
尝试此实现并执行。。。谢谢请看这是为了添加其他属性,但不首先解释如何在数据库中创建用户对象…我是否需要在数据库中创建某种结构(使用Firebase控制台)?正如我前面所说的,一旦我连接了一个新用户,“Auth”选项卡中提到了它,但“Database”选项卡仍然是空的。确切地说,您必须在数据库中创建一个条目(不是从控制台,而是在那里使用您的数据)。你的代码应该创建这个条目,并在那里为你的用户存储数据。我确实有完全相同的问题。网络上没有任何内容解释如何向firebase添加用户和其他信息。我能够在firebase自动创建的数据库中查看电子邮件。现在,如果我想将用户名、电话号码、地址等添加到firebase数据库,该怎么办。请帮忙!好的,我通过点击绿色“+”创建了“用户”,所以现在当我转到http://.firebaseio.com/users/userID1,我写入了userID1(长字符串K9gdkDgfd…)和“null”。难道我不能看到电子邮件和密码,比如刚刚创建的用户的数据吗?我真的不明白如何从代码中管理它,我认为一切都应该在数据库中设置(比如,手动创建结构,然后在用户在应用程序上创建帐户时填充它)和在我的代码中,现在,我只做
auth.createUserWithEmailAndPassword(email,password)
你可以找到这些数据(电子邮件、提供商、名称,但不是密码)在authToken中,当您登录用户并将其推送到firebase中时。firebase在内部创建用户配置文件(请参阅我回复中的链接),但它只允许您存储少量数据。如果您想保存更多信息,应使用此方法。希望我清楚:)您是否使用AuthStateListener?不,我应该吗?我真的不明白它的目的。目前在注册活动中,我只有createUserWithEmailAndPassword