как я могу всегда проверять статус людей каждую секунду?
Нет необходимости повторять опрос.Когда вы звоните addValueEventListener
, Firebase будет активно отслеживать результаты этой ссылки или запроса.Если что-то изменится, он сразу же сообщит вам по телефону onDataChange
с обновленными данными для запроса / местоположения.
как я могу продолжать поиск, пока не появится пользователь со статусом "поиск""?
Ваш текущий код уже продолжает прослушивать данные в user_dbref
, пока вы не скажете им остановиться.Как только вы найдете совпадение, просто позвоните removeEventListener
со ссылкой на слушателя.
Простой способ сделать это:
final ValueEventListener listener = user_dbref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()){
...
if(user2.getStatus()=="searching"){
...
user_dbref.removeEventListener(listener);
}
}