Я могу нормально публиковать в хранилище, но эта функция возвращает только ноль.
Вы не можете вернуть что-то, что еще не было загружено.Другими словами, вы не можете просто создать переменную fileUrl
как глобальную переменную и использовать ее вне метода onSuccess()
, поскольку она всегда будет null
из-за асинхронного поведения этого метода.Это означает, что к тому времени, когда вы пытаетесь использовать этот результат вне этого метода, данные еще не закончили загрузку из базы данных, и поэтому они недоступны.
Быстрое решение этой проблемы -используйте значение fileUrl
, которое поступает из базы данных только внутри метода onSuccess()
, в противном случае я рекомендую вам увидеть последнюю часть моего ответа из этого поста , в котором яобъяснили, как это можно сделать с помощью пользовательского обратного вызова.Вы также можете взглянуть на это видео для лучшего понимания.
Также убедитесь, что на устройстве пользователя установлено стабильное подключение к Интернету.