Как читать документ Firestore? - PullRequest
0 голосов
/ 21 апреля 2019

Я новичок в разработке Android ...; -)

Мне нужно знать, как читать определенный документ, сохраненный в Firestore, без необходимости вручную копировать «documentPath» из консоли Cloud Firestore!

Как вы делаете это автоматически?

Затем я помещаю часть кода, где documentPath , который мне нужно настроить:

DocumentReference user = mFirestore.collection("Users").document(idUsers).collection("Companies").document(**"documentPath"**)

ссылка на изображение:

Компания, которую я зарегистрировал сейчас и которую я хотел бы показать пользователю автоматически

ссылка на документ:

Поля документа

Я тестирую следующий класс:

private void ReadSingleEmpresa() {

        FirebaseAuth autenticacao = ConfiguracaoFirebase.getFirebaseAutenticacao();
        String idUsuario = Base64Custom.codificarBase64(autenticacao.getCurrentUser().getEmail());

        DocumentReference user = mFirestore.collection("Users").document(idUsuario).collection("Companies").document("gaSpr59pbeMmO9UpFxQQ");//document path

        user.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
            @Override
            public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                if (task.isSuccessful()) {

                    DocumentSnapshot document = task.getResult();

                    if (document.exists()) {
                        Log.d("ler doc", "DocumentSnapshot data: " + document.getData());

                        StringBuilder fields = new StringBuilder("");

                        //Some document fields
                        fields.append("Company name: ").append(document.get("nomeEmpresa"));
                        fields.append("\nEmail: ").append(document.get("emailRepresentante"));
                        fields.append("\nTelephone number: ").append(document.get("telefoneRepresentante"));

                        txtEmpresa.setText(fields.toString());


                    } else {
                        Log.d("ler doc", "No such document");
                    }
                } else {
                    Log.d("ler doc", "get failed with ", task.getException());
                }
            }
        })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {
                    }
                });
    }

Это результат:

Результат чтения некоторых полей документа

Это работает, но я не знаю, как получить документ, который я только что зарегистрировал среди нескольких. Я получаю его только когда вручную копирую идентификатор документа ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...