美好的一天。 我已经尽力了,但每当我输入新的“姓名”、“年龄”或之前输入的任何数据被删除时,都无法更新数据。我想使用推送或其他方式来更新数据。但仍然无法做到这一点。
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);
这应该会更新您的数据库!如果有不清楚的地方,请随时提问。
关于java - 如何更新我的 firebase 数据库字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39024300/