Firebase FireStore Query.get () метод не вызывает onCompleteListener () - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь получить данные из firestore, используя запрос where, но при вызове методов get () и OnComplete () мой программный элемент управления не переходит в метод oncomplete.

Когда я возвращаюHashMap всегда возвращает ноль и даже пытался проверить через журнал, если управление идет внутри метода OnComplete, но это не так.

Редактирование: метод onFailure () также не работает.

HashMap<String,String> doesMeetingPointExists(LatLng latLng)
{

        String lat = String.valueOf(latLng.getLatitude());

        String longi = String.valueOf(latLng.getLongitude());

        final HashMap<String,String> jsonObject = new HashMap<>();

        Query q = firebaseFirestore.collection("meeting_points").whereEqualTo("latitude",lat).whereEqualTo("longitude",longi);
        q.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {

                if (task.getResult().isEmpty()){
                    jsonObject.put("isNull", "true");
                    Log.d("TAG","DATA"+jsonObject.toString());
                }
                else{
                    Log.d("TAG", "IN ON Fail");
                    QuerySnapshot querySnapshot = task.getResult();
                    for (QueryDocumentSnapshot documentSnapshot: querySnapshot){
                        Map<String,Object> map = documentSnapshot.getData();
                        jsonObject.put("isNull","false");
                        jsonObject.put("LocationName", String.valueOf(map.get("place_name")));
                        jsonObject.put("LocationAddress", String.valueOf(map.get("place_address")));
                        Log.d("TAG","DATA"+jsonObject.toString());

                    }
                }
            }
        }).addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.d("TAG", "IN ON Fail");
                jsonObject.put("isNull", "true");
                Timber.e("Errora"+"---"+e.getMessage());
            }
        });
        Log.d("TAG",jsonObject.toString());
        return jsonObject;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...