美好的一天。
我已经尽力尝试了级别,但是无论何时输入新的“名称”,“年龄”或擦除之前输入的任何数据,都无法更新数据。我想使用推送或其他方式更新数据。但是仍然无法执行那。

nameRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
            @Override
            public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {


                String text = dataSnapshot.getValue(String.class);
                String ho = name.getText().toString();

                nameRef.setValue(ho);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
        genderRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
            @Override
            public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
                String text = dataSnapshot.getValue(String.class);
                String ho = gender.getText().toString();
                genderRef.setValue(ho);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
        ageRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
            @Override
            public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
           `enter code here`     String text = dataSnapshot.getValue(String.class);
                String ho = age.getText().toString();
                ageRef.setValue(ho);

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
        EmailRef.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
            @Override
            public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
                String text = dataSnapshot.getValue(String.class);
                String ho = email.getText().toString();
                EmailRef.setValue(ho);

            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

最佳答案

如果您有这样的JSON树:

->users
    ->uid
        ->name
        ->age
        ->gender
        ->email


然后,要更新数据库中的值,您应该执行以下操作:

DatabaseReference mFirebaseDBRef = FirebaseDatabase.getInstance().getReference();
FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance();
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();

//use a POJO and make sure to have a default empty constructor in that class definition
User user = new User(name, age, gender, email)
mFirebaseDBRef.child("users").child(mFirebaseUser.getUid()).setValue(user);


那应该更新您的数据库!如果不清楚,请随时提出。

07-24 09:49
查看更多