图片来自 StorageReference Firebase-Android
Image from StorageReference Firebase-Android
TextView myUsername=(TextView) findViewById(R.id.user);
myProfile=(ImageView) findViewById(R.id.photo);
Bundle bundleObject=getIntent().getExtras();
myAccount=(Account) bundleObject.getSerializable("account");
myUsername.setText(myAccount.get_username());
StorageReference profile =
FirebaseStorage.getInstance()
.getReference().child("profiles").child(myAccount.getUID()).child("profile");
profile.getDownloadUrl().addOnSuccessListener(Profile.this, new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
myProfile.setImageURI(uri);
}
});
我正在尝试将来自 Firebase 存储的图像放入 ImageView,但没有显示,而且我没有任何错误。我做错了什么?
ImageView
不会从 Internet 本身加载图像 - 从存储中检索到的 URL 是常规的 HTTPS 图像。 setImageURI
方法是从本地文件系统加载。
您可以使用像 Glide 或 Picasso 这样的库来加载图像 - 如果您看一下 FirebaseUI,您会发现一个有用的集成,其中包括缓存:https://github.com/firebase/FirebaseUI-Android/tree/master/storage
TextView myUsername=(TextView) findViewById(R.id.user);
myProfile=(ImageView) findViewById(R.id.photo);
Bundle bundleObject=getIntent().getExtras();
myAccount=(Account) bundleObject.getSerializable("account");
myUsername.setText(myAccount.get_username());
StorageReference profile =
FirebaseStorage.getInstance()
.getReference().child("profiles").child(myAccount.getUID()).child("profile");
profile.getDownloadUrl().addOnSuccessListener(Profile.this, new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
myProfile.setImageURI(uri);
}
});
我正在尝试将来自 Firebase 存储的图像放入 ImageView,但没有显示,而且我没有任何错误。我做错了什么?
ImageView
不会从 Internet 本身加载图像 - 从存储中检索到的 URL 是常规的 HTTPS 图像。 setImageURI
方法是从本地文件系统加载。
您可以使用像 Glide 或 Picasso 这样的库来加载图像 - 如果您看一下 FirebaseUI,您会发现一个有用的集成,其中包括缓存:https://github.com/firebase/FirebaseUI-Android/tree/master/storage