Android studio 图像Url在Firebase实时数据库中无效

Android studio 图像Url在Firebase实时数据库中无效,android-studio,Android Studio,我正在尝试将图像的Url从Firebase存储存储存储到实时数据库,然后由毕加索库加载Url,但图像已存储但格式不正确,正在加载所有其他图像,但一个名为postimage的子级未加载,因为其Url不正确。 我只需要知道这个代码对于androidx是正确的,因为我使用的是androidx。 其余的工作正常,代码有问题 正在将图像url从存储器加载到实时数据库代码: @Override public void onComplete(@NonNull T

我正在尝试将图像的Url从Firebase存储存储存储到实时数据库,然后由毕加索库加载Url,但图像已存储但格式不正确,正在加载所有其他图像,但一个名为postimage的子级未加载,因为其Url不正确。 我只需要知道这个代码对于androidx是正确的,因为我使用的是androidx。 其余的工作正常,代码有问题

正在将图像url从存储器加载到实时数据库代码:

            @Override
            public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
               if (task.isSuccessful())
               {  filePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                   @Override
                   public void onSuccess(Uri uri) {
                       final String downloadUrl = uri.toString();
                       postImageUri = downloadUrl;
                   }

               });
                  PostImage = postImageUri;
                   // downloadUrl = task.getResult().getUploadSessionUri().toString();
//                   final String downloadUrl = filePath.getDownloadUrl().toString();
//                   postImageUri = downloadUrl;
                 // downloadUrl = task.getResult().getDownloadUrl().toString();

                   Toast.makeText(PostActivity.this, "Image Uploaded Successfully To Storage!", Toast.LENGTH_SHORT).show();
                   SavingPostInformationToDatabase( );
               }
               else
                   {
                       String message = task.getException().getMessage();
                       Toast.makeText(PostActivity.this, "Error! " + message, Toast.LENGTH_SHORT).show();
                   }
            }
        });```




@覆盖
未完成的公共void(@NonNull任务){
if(task.issusccessful())
{filePath.getDownloadUrl().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
最后一个字符串downloadUrl=uri.toString();
postImageUri=下载URL;
}
});
PostImage=postimageri;
//downloadUrl=task.getResult().getUploadSessionUri().toString();
//最后一个字符串downloadUrl=filePath.getDownloadUrl().toString();
//postImageUri=下载URL;
//downloadUrl=task.getResult().getDownloadUrl().toString();
Toast.makeText(PostActivity.this,“图像已成功上载到存储器!”,Toast.LENGTH\u SHORT.show();
将PostInformation保存到数据库();
}
其他的
{
字符串消息=task.getException().getMessage();
Toast.makeText(PostActivity.this,“Error!”+消息,Toast.LENGTH\u SHORT.show();
}
}
});```

我曾面临这个问题,但后来我解决了。。。大家可以看到,我使用的是filePath.getDownload方法,我通过变量postmaguri将图像Uri存储在实时数据库中。因此,只要filePath.getDownload中的变量具有正确的图像链接,但只要我们在filePath.getDownload之外使用该变量,它就会给出一个空值不恰当的 所以我简单地将我的方法SavingPostInformationToDatabase();并将其粘贴到filePath.getDownload中,因为存储我在savingPostInformation数据库()中使用的图像链接的变量;方法。 将PostInformation保存到数据库();是一种使用HashMap方法将值存储到实时数据库的方法