I am doing everything as per documentation but don't know why I am not getting ordered data
My Query
typeRef = myRef.child("DiscussionRooms").orderByChild("order");
valueEventListener = typeRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() != null) {
Log.d(TAG, "Get Data" + dataSnapshot.getValue().toString());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
My Database

My Database Rules

Response Logs

To display the data ordered according to the order property, please use the following code:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference discussionRoomsRef = rootRef.child("DiscussionRooms");
Query orderQuery = discussionRoomsRef.orderByChild("order");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String name = ds.child("name").getValue(String.class);
Log.d("TAG", name);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
}
};
orderQuery.addListenerForSingleValueEvent(valueEventListener);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With