
参见英文答案 > How do I link each user to their data in Firebase? 1个
我对Firebase有疑问,我是新手.我想在登录时返回用户名,但该名称在数据库中,我只想返回名称,当然,与在身份验证中找到的电子邮件一致,也在数据库中.我的想法是将数据库中的电子邮件与Auth进行比较,如果是真的,请给我这个名字.但我不知道如何开发它.解决方案?
谢谢
解决方法:
为了实现这一点,您需要使用如下所示的模型类:
public class usermodel implements Serializable { private String userEmail; private String username; public usermodel() {} public usermodel(String userEmail, String username) { this.userEmail = userEmail; this.username = username; } public String getUserEmail() {return userEmail;} public String getUsername() {return username;}}要实际添加用户,请使用以下代码:
String uID = FirebaseAuth.getInstance().getCurrentUser().getUID();usermodel usermodel = new usermodel("john@email,com", "John");DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();DatabaseReference usersRef = rootRef.child("users");usersRef.child(uID).setValue(usermodel);您的数据库结构如下所示:
Firebase-root | --- users | --- uID | --- userEmail: "john@email,com" | --- username: "John"此外,要获取username,请使用以下代码:
DatabaseReference uIDRef = usersRef.child(uID);ValueEventListener eventListener = new ValueEventListener() { @OverrIDe public voID onDataChange(DataSnapshot dataSnapshot) { if(dataSnapshot.exists()) { String username = dataSnapshot.child("username").getValue(String.class); nombre.setText(username); Log.d("TAG", username); } } @OverrIDe public voID onCancelled(DatabaseError databaseError) { Log.d(TAG, databaseError.getMessage()); }};uIDRef.addListenerForSingleValueEvent(eventListener);如果您有兴趣,我也会在我的一个教程中逐步开发,整个身份验证过程使用@L_419_1@和Firebase.
总结以上是内存溢出为你收集整理的java – Firebase身份验证和数据库全部内容,希望文章能够帮你解决java – Firebase身份验证和数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)