我想从这种类型的JSON树中获取所有允许孩子的列表:
databaseRef.child('Users').child('Allowded').addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange (DataSnapshot dataSnapshot) {
//
}
}
@Override
public void onCancelled (DatabaseError databaseError) {
} };);
答案 0 :(得分:2)
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference userRef = database.getReference("users").child(key).child("Alloweded");
ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
User userObj = dataSnapshot.getValue(User.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
// ...
}
};userRef.addValueEventListener(postListener);
User是你的Model类,它有lat,lng,name,no。,profileUrl等
试试这个我希望它运作正常。
答案 1 :(得分:1)
Firebase侦听器会同时触发初始数据和任何更改。
如果您正在寻找同步集合中的数据,请使用 ChildEventListener 。如果您要查找同步单个对象,请使用 ValueEventListener 。请注意,在这两种情况下,您都没有"得到"数据。您正在同步它,这意味着可以多次调用回调:初始数据和数据更新时。
FirebaseRef.child("message").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
System.out.println(snapshot.getValue()); //prints "Do you have data? You'll
love Firebase."
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 2 :(得分:0)
databaseRef.child('Users').child('Allowded').addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange (DataSnapshot dataSnapshot) {
for (DataSnapshot childDataSnapshot : dataSnapshot.getChildren()) {
Log.d(TAG, "onDataChange: 1 " + childDataSnapshot.getKey());
for (DataSnapshot childDataSnapshot2 : childDataSnapshot.getChildren()){
Log.d(TAG, "onDataChange: 2 " + childDataSnapshot2.getKey());
}
}
}
}
@Override
public void onCancelled (DatabaseError databaseError) {
} };);