【发布时间】:2018-09-10 02:15:32
【问题描述】:
我想在 Firebase Storage 的 imageView 上显示图像而不将图片保存在设备中,所以我尝试使用突出显示的 URL(来自下图)并且它有效,但我不想写地址手动。 如何使用代码获取地址? p.s 我尝试了 dataBaseStorageRef.getDownloadUrl(),它给了我另一个 URL,而不是图片中的那个。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
final StorageReference filePath = storage.child("books").child(""+AddBook.book_id+1).child("photo.jpg");
if(requestCode == RESULT_GALLERY){
if (resultCode == RESULT_OK){
pic_uri = data.getData();
book_img.setImageURI(pic_uri);
filePath.putFile(pic_uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(AddBookActivity.this, "Upload done", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(AddBookActivity.this, "Failed to upload!", Toast.LENGTH_SHORT).show();
}
});
img_addr = filePath.getDownloadUrl().toString();
Toast.makeText(this, "picture was selected", Toast.LENGTH_SHORT).show();
}
}
}
然后,我正在尝试显示来自另一个活动的 img_addr 的图片 它不起作用,因为 image_addr 的地址不好(如果我手动将 img_addr 替换为附加链接中的地址它可以工作)
if(books_list.get(i).img_addr!=null){
Toast.makeText(v.getContext(),books_list.get(i).img_addr,Toast.LENGTH_LONG).show();
Picasso.with(v.getContext()).load(books_list.get(i).img_addr).resize(50,50).into(img);
}
感谢帮助的人
【问题讨论】:
-
你能提供你试过的代码和你的数据库截图吗?
标签: android firebase firebase-storage