taskSnapshot.downloadUrl.toString () не работает в Kotlin - PullRequest
0 голосов
/ 29 июня 2018

Код Img

Я пытаюсь следовать учебнику, но часть, которая учит значению DownloadURL = taskSnapshot.downloadUrl.toString(), больше не работает. Я попытался заменить некоторые параметры, такие как:

val DownloadURL = taskSnapshot.storage.downloadUrl.toString()

Или:

val DownloadURL = ImageRef.downloadUrl.toString()

Но я получаю только значения для печати, такие как:

com.google.android.gms.tasks.zzu@8a94cv2 и недействительный URL.

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

Не могу точно сказать, почему он не работал с другими синтаксисами, но я получил результат, сделав это следующим образом: (Версия реализации Firebase: 16.0.1 / Kotlin)

Мое решение:

mReference.putFile (uri) .addOnFailureListener {
          // failure
       } .addOnSuccessListener () {taskSnapshot ->
          // success
             mReference.downloadUrl.addOnCompleteListener () {taskSnapshot ->

                 var url = taskSnapshot.result
                 println ("url =" + url.toString ())

             }
  }
0 голосов
/ 29 июня 2018

Причина в том, что метод getDownloadUrl() не возвращает URL или строку, он возвращает Task<URI> на основе этой документации.

Если вы хотите получить сам Uri, то вы можете использовать getResult(), чтобы получить результат, а затем выполнить .toString() для этого.

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