Java 上载具有不同扩展名firebase存储的多个文件

Java 上载具有不同扩展名firebase存储的多个文件,java,android,firebase,firebase-storage,Java,Android,Firebase,Firebase Storage,我的目标是添加新产品,每个产品包含图片和pdf文件到firebase存储,然后将每个链接保存到firebase数据库 我上传图片和pdf时遇到问题。我无法从每个文件中获取下载URL并返回nullGod,我正在尝试向数据库发送帖子 代码: 根据您的评论,我理解您之所以会出现此错误,是因为以下代码行: produk produk = new produk(id_produk,nama_produk,ket_produk,URL_JPG.toString(),URL_PDF.toString());

我的目标是添加新产品,每个产品包含图片和pdf文件到firebase存储,然后将每个链接保存到firebase数据库

我上传图片和pdf时遇到问题。我无法从每个文件中获取下载URL并返回
null
God,我正在尝试向数据库发送帖子

代码:


根据您的评论,我理解您之所以会出现此错误,是因为以下代码行:

produk produk = new produk(id_produk,nama_produk,ket_produk,URL_JPG.toString(),URL_PDF.toString());

这是因为您无法将
URL\u PDF
varaible创建为一个全局变量并期望其正常工作。您现在无法使用尚未加载的内容。换句话说,您不能简单地在
onComplete()
方法之外使用
URL\u PDF
对象,因为由于此方法的异步行为,它将始终为
null
。这意味着,当您尝试在该方法之外使用该结果时,数据尚未从数据库加载完毕,因此无法访问。这个问题的一个快速解决方法是仅在
onComplete()
方法中使用
URL\u PDF
变量,否则我建议您查看我的anwser的最后一部分,我在其中解释了如何使用自定义回调来完成。您还可以查看此以更好地理解。

在哪行代码中出现此错误?@AlexMamo on
produk produk=new produk(id_produk,nama_produk,ket_produk,URL_JPG.toString(),URL_PDF.toString())
produk produk = new produk(id_produk,nama_produk,ket_produk,URL_JPG.toString(),URL_PDF.toString());