Вы можете делать запросы в Firebase:
Query query = usersDB.orderByChild("interest").equalTo("WHATEVERINTEREST");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Users user = dataSnapshot.getValue(Users.class);
doWhatever();
}
});
Однако в вашем случае, когда вы храните информацию в виде массива, вы можете получить всех пользователей, а в своем коде получить необходимую информацию.
usersDB.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ArrayList<Users> listOfUsers = new ArrayList<Users>();
for (DataSnapshot dsp : dataSnapshot.getChildren()) {
Users user = dsp.getValue(Users.class);
listOfUsers.add(user);
}
//Check the Users that contains interest
usersWithInterest(listOfUsers,"dogs");
}
});
Реализуйте простой метод, который читает весь список пользователей и проверяет пользователей с интересом к собакам:
usersWithInterest(listOfUsers, "dogs");