如何获取显示名称 “email”?

huangapple go评论119阅读模式
英文:

How to get display name "email"?

问题

  1. [1]: https://i.stack.imgur.com/AZBMv.png
  2. 这张图片显示数据库用户名为空,我想从用户注册/登录的电子邮件中设置用户名。
  1. public void memperbaruiQuest() {
  2. String uid = getUid(); // 这是 FirebaseAuth.getInstance().getCurrentUser().getUid()
  3. final DatabaseReference mScore = mdatabase.child(Aktivitas).child(String.valueOf(uid));
  4. DatabaseReference muser = FirebaseDatabase.getInstance().getReference().child("Users").child(String.valueOf(uid)).child("用户名");
  5. muser.addListenerForSingleValueEvent(new ValueEventListener() {
  6. @Override
  7. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  8. String name = String.valueOf(dataSnapshot.getValue());
  9. mScore.child("用户名").setValue(name); //这是空的?

在登录后我能获取到电子邮件或用户名吗?
为了在Firebase中用户名不为空,我需要做什么?谢谢

  1. <details>
  2. <summary>英文:</summary>

this image show database username is null, I want to set name from email user registered/logined

public void memperbaruiQuest() {

  1. String uid = getUid(); // this is FirebaseAuth.getInstance().getCurrentUser().getUid()
  2. final DatabaseReference mScore = mdatabase.child(Aktivitas).child(String.valueOf(uid));
  3. DatabaseReference muser = FirebaseDatabase.getInstance().getReference().child(&quot;Users&quot;).child(String.valueOf(uid)).child(&quot;User name&quot;);
  4. muser.addListenerForSingleValueEvent(new ValueEventListener() {
  5. @Override
  6. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  7. String name = String.valueOf(dataSnapshot.getValue());
  8. mScore.child(&quot;username&quot;).setValue(name); //this is null?
  1. can i get the email or name after login?
  2. what I must doing for the username no null in firebase? thank you

答案1

得分: 0

一旦用户已登录,您可以执行以下操作来获取电子邮件和姓名。

  1. FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
  2. String name = user.getDisplayName();
  3. String email = user.getEmail();

然后,您可以在您的Firebase数据库中更新这些信息。确保访问正确的节点。

英文:

Once the user is logged in you can do this to get the email and name.

  1. FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
  2. String name = user.getDisplayName();
  3. String email = user.getEmail();

After, you can update those in your firebase database.Make sure you access the right nodes though.

答案2

得分: 0

Sure, here's the translated code portion:

  1. public void updateQuest() {
  2. String uid = getUid();
  3. final DatabaseReference mScore = mdatabase.child(Activity).child(String.valueOf(uid));
  4. DatabaseReference mUser = FirebaseDatabase.getInstance().getReference(Activity).child(uid);
  5. final String user = FirebaseAuth.getInstance().getCurrentUser().getEmail(); // just add this
  6. mUser.addListenerForSingleValueEvent(new ValueEventListener() {
  7. @Override
  8. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  9. String.valueOf(dataSnapshot.getValue());
  10. mScore.child("username").setValue(user); // and set it here
  11. }
  12. });
  13. }

And here's the translated comment:

  1. this is a picture I mean hehe
英文:

i solve that ...

  1. public void memperbaruiQuest() {
  2. String uid = getUid();
  3. final DatabaseReference mScore = mdatabase.child(Aktivitas).child(String.valueOf(uid));
  4. DatabaseReference muser = FirebaseDatabase.getInstance().getReference(Aktivitas).child(uid);
  5. final String user = FirebaseAuth.getInstance().getCurrentUser().getEmail(); // just add this
  6. muser.addListenerForSingleValueEvent(new ValueEventListener() {
  7. @Override
  8. public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
  9. String.valueOf(dataSnapshot.getValue());
  10. mScore.child(&quot;username&quot;).setValue(user); //and set on here
  11. }
  1. [1]: https://i.stack.imgur.com/i9LZs.png
  2. this is a picture I mean hehe

huangapple
  • 本文由 发表于 2020年8月31日 17:43:23
  • 转载请务必保留本文链接:https://go.coder-hub.com/63668432.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定