im quiet new in firebase database and android, I am create a method to count total size of db children, but it always return 0 when accessed outside onDataChange method, here my code
private int getChildSize() {
final List<String> keys = new ArrayList<>();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("profiles");
ref.orderByChild("phoneNumber")
.equalTo(phoneNumber)
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot item : dataSnapshot.getChildren()){
keys.add(item.getKey());
Log.d(TAG, "onDataChange: " + keys.size()); // more than 0
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return keys.size(); // return 0;
}
any ideas?