我正在尝试将图像的网址从Firebase存储存储到实时数据库中,然后通过Picasso库加载该网址,但是该图像已存储但格式不正确,所有其他图像都在加载,但是只有一个名称为postimage的孩子无法加载,因为其网址不正确。 我只需要知道此代码对于androidx是正确的,因为我正在使用androidx。 其余的一切工作正常,此代码有问题。
将图片网址从存储设备加载到实时数据库代码:
@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();
}
}
});```
答案 0 :(得分:0)
我遇到了这个问题,但是后来,我解决了……你们可以看到我正在使用filePath.getDownload方法,并且在那里我通过变量postImagUri..so将图像Uri存储到实时数据库中。只要filePath.getDownload内的变量具有正确的图像链接,但到目前为止,我们在该filePath.getDownload之外使用该变量,否则会给出不适当的空值。 因此,我简单地剪切了方法SavingPostInformationToDatabase();并将其粘贴到filePath.getDownload中,导致该变量存储我在SavingPostInformationToDatabase()中使用的图像链接;方法。 SavingPostInformationToDatabase();是一种使用HashMap方法将值存储到实时数据库中的方法。