Ошибка «Неверный путь к полю» при получении изображения с URL-адреса в базе данных пожарного магазина - PullRequest
1 голос
/ 27 января 2020

Я пытаюсь получить изображение из базы данных Firestore в мое приложение android. URL-адрес изображения хранится в коллекции с именем "Жесты". И в коллекции есть документы, каждый из которых состоит из URL-адреса изображения. Когда я пытаюсь получить изображение URL-адрес изображения показывает ошибку «Неверный путь к полю». Но какой другой URL-адрес можно использовать? База данных выглядит так: Firestore Database
Пожалуйста, помогите мне с этим. Заранее спасибо.

 public void loadGestureImage(){
            DocumentReference documentReference=firebaseFirestore.collection("Gestures").document(G1);
            documentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
                @Override
                public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                    if(task.isSuccessful()){
                        DocumentSnapshot doc=task.getResult();
                        String img_url=(doc.get("https:/drive.google.com/file/d/1h4YIvVKzdMEAj_EuZbYPJyFRVYb90CA7/view?usp=sharing")).toString();
                        Picasso.get().load(img_url).into(imageView1);
                    }
                }
            });
        }

Ответы [ 2 ]

0 голосов
/ 27 января 2020

Вы должны использовать имя поля документа, чтобы получить присвоенное ему значение. Кажется, вы пытаетесь получить значение URL-адреса, используя значение самого URL-адреса, что довольно странно.

String img_url = doc.getString("Img");

Я также укажу, что ваш URL-адрес искажен. Это недействительно и не будет корректно загружаться.

0 голосов
/ 27 января 2020

Вы ссылаетесь на неправильное поле внутри своей базы огня. Прежде всего, вам нужно изменить вызов документа с G1 на «G1».

Еще одна вещь, которую вам нужно сделать, это изменить выбор свойства Img с

doc.get("https:/drive.google.com/file/d/1h4YIvVKzdMEAj_EuZbYPJyFRVYb90CA7/view?usp=sharing")

на

doc.get("Img")

Так что полное решение вашей проблемы должно быть примерно таким:

 public void loadGestureImage(){
        DocumentReference documentReference=firebaseFirestore.collection("Gestures").document("G1");
        documentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
            @Override
            public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                if(task.isSuccessful()){
                    DocumentSnapshot doc=task.getResult();
                    String img_url=(doc.get("Img")).toString();
                    Picasso.get().load(img_url).into(imageView1);
                }
            }
        });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...