如何获取正确的DatabaseReference

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

How can I get the correct DatabaseReference

问题

USER PROFILE

  1. private void showUserProfile(FirebaseUser firebaseUser) {
  2. String userID = firebaseUser.getUid();
  3. DatabaseReference referenceProfile = FirebaseDatabase.getInstance().getReference("Users");
  4. referenceProfile.child(userID).addListenerForSingleValueEvent(new ValueEventListener() {
  5. @Override
  6. public void onDataChange(@NonNull DataSnapshot snapshot) {
  7. ReadWriteUserDetails readUserDetail = snapshot.getValue(ReadWriteUserDetails.class);
  8. if (readUserDetail != null) {
  9. fullname = firebaseUser.getDisplayName();
  10. email = firebaseUser.getEmail();
  11. doB = readUserDetail.birthday;
  12. discount = readUserDetail.discount;
  13. textViewFullName.setText(fullname);
  14. textViewEmail.setText(email);
  15. textViewDoB.setText(doB);
  16. textViewDiscount.setText(discount);
  17. }
  18. }

Firebase

如何获取正确的DatabaseReference

ReadWriteUserDetail class

  1. public class ReadWriteUserDetails {
  2. public String birthday, discount;
  3. public ReadWriteUserDetails() {
  4. }
  5. public ReadWriteUserDetails(String textBirthday, String textDiscount) {
  6. this.birthday = textBirthday;
  7. this.discount = textDiscount;
  8. }
  9. }
英文:

I am creating a user profile but I do not know how can I get the child node and display it in the user profile, How can I reference this correctly? I would greatly appreciate any comments or suggestion, thank you in advance!!

USER PROFILE

  1. private void showUserProfile( FirebaseUser firebaseUser) {
  2. String userID = firebaseUser.getUid();
  3. DatabaseReference referenceProfile = FirebaseDatabase.getInstance().getReference("Users");
  4. // 👆
  5. referenceProfile.child(userID).addListenerForSingleValueEvent(new ValueEventListener() {
  6. @Override
  7. public void onDataChange(@NonNull DataSnapshot snapshot) {
  8. ReadWriteUserDetails readUserDetail = snapshot.getValue(ReadWriteUserDetails.class);
  9. if(readUserDetail != null){
  10. fullname = firebaseUser.getDisplayName();
  11. email = firebaseUser.getEmail();
  12. doB = readUserDetail.birthday;
  13. discount = readUserDetail.discount;
  14. textViewFullName.setText(fullname);
  15. textViewEmail.setText(email);
  16. textViewDoB.setText(doB);
  17. textViewDiscount.setText(discount);
  18. }
  19. }

Firebase

如何获取正确的DatabaseReference

ReadWriteUserDetail class

  1. public class ReadWriteUserDetails {
  2. public String birthday, discount;
  3. public ReadWriteUserDetails(){};
  4. public ReadWriteUserDetails(String textBirthday, String textDiscount){
  5. this.birthday = textBirthday;
  6. this.discount = textDiscount;
  7. }
  8. }

答案1

得分: 0

你将用户配置文件存储在数据库的路径/Users/Customers下,因此可以设置对该父节点的引用如下:

  1. DatabaseReference referenceProfile =
  2. FirebaseDatabase.getInstance().getReference("Users/Customers");
英文:

You're storing your user profiles under path /Users/Customers in your database, so you can set up a reference to that parent node as:

  1. DatabaseReference referenceProfile =
  2. FirebaseDatabase.getInstance().getReference("Users/Customers");

huangapple
  • 本文由 发表于 2023年8月10日 09:40:28
  • 转载请务必保留本文链接:https://go.coder-hub.com/76872145.html
匿名

发表评论

匿名网友

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

确定