有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何更改此代码,使其更新当前用户而不是创建新用户?

如何更改此选项,使其更新当前用户的详细信息,而不是创建新用户

          Userdatabase = FirebaseDatabase.getInstance();
          Userdatabaseref = Userdatabase.getReference().child("Threads 
           Users");            


          DatabaseReference CurrentUser = Userdatabaseref.child("Threads 
          Users");

            Map<String, String> userdata = new HashMap<>();

            userdata.put("userfirstname", Fname);
            userdata.put("userlastname", Sname);
            userdata.put("userdateofbirth", DOB);
            userdata.put("useraddress", Add);
            userdata.put("userpostcode", Ptd);
            userdata.put("usercardnumber", Cnumber);
            userdata.put("usercardexpirydate", Cdate);
            userdata.put("userccvnumber ", CCV);

            CurrentUser.setValue(userdata);
        }
    });

共 (1) 个答案

  1. # 1 楼答案

    为此使用updateChildren

    Userdatabase = FirebaseDatabase.getInstance();
    FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
    Userdatabaseref = Userdatabase.getReference().child("Threads 
               Users");            
    DatabaseReference CurrentUser = Userdatabaseref.child("Threads 
              Users").child(firebaseAuth.getCurrentUser().getUid());
    Map<String, Object> userdata = new HashMap<>();
    userdata.put("userfirstname", Fname);
    userdata.put("userlastname", Sname);
    userdata.put("userdateofbirth", DOB);
    userdata.put("useraddress", Add);
    userdata.put("userpostcode", Ptd);
    userdata.put("usercardnumber", Cnumber);
    userdata.put("usercardexpirydate", Cdate);
    userdata.put("userccvnumber ", CCV);
    
    CurrentUser.updateChildren(userdata);