我需要一个具有两个参数的函数,(UserID和子键)它应该从firebase返回child的值。我想要这样的东西
public String getValue("user1", "Age")
{
//something to do
return age;
}
它应该返回孩子的价值。
这就是我的表现:
private String getValue(String parent, final String child) {
final String[] val = new String[1];
database.getReference(parent).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
String key = snapshot.getKey();
String value = ""+snapshot.getValue(String.class);
if(key.equals(child))
{
val[0] = value;
break;
}
}
}
@Override
public void onCancelled(DatabaseError error) {
}
});
return val[0];
}
这就是我的数据库的样子:
答案 0 :(得分:0)
试试这个。我假设您的database
= FirebaseDatabase.getInstance().getReference("Users")
private String getValue(String parent, final String child) {
final String val = "";
database.child(parent).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
val = (String) snapshot.child(child).getValue();
break;
}
}
@Override
public void onCancelled(DatabaseError error) {
}
});
return val;
}
希望这有帮助