我想从Firebase存储中检索并设置图像。我宣布了一个我在导航抽屉活动中使用的ImageView。我不知道为什么它没有显示在消息'Hello Tester'(绿色区域)的顶部,请参见下图。
这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dashboard);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
. . . . . . . .
final ImageView profilePicbtn = (ImageView)headerlayout.findViewById(R.id.imageViewProfile);
storage = FirebaseStorage.getInstance();
storageRef = storage.getReferenceFromUrl("gs://urlofmyfirebbasestorage").child("userProfileImgs");
final long ONE = 90 * 90;
storageRef.getBytes(ONE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
@Override
public void onSuccess(byte[] bytes) {
Bitmap bit = BitmapFactory.decodeByteArray(bytes,0,bytes.length);
profilePicbtn.setImageBitmap(bit);
}
});
Image xml:
<ImageView
android:id="@+id/imageViewProfile"
android:layout_width="90dp"
android:layout_height="90dp"
android:paddingTop="@dimen/nav_header_vertical_spacing" />
在'userProfileImgs'文件夹中,我只有1个名为image1.png的图像,(800x600像素)。为什么不在下拉菜单中显示firebase中的图像?
注意:我可以将Drawable文件夹中的图像上传到此ImageView,它可以正常工作。
答案 0 :(得分:0)
您可以使用Picasso Library在ImageView中显示图像。你只需要通过图像视图将url,uri或资源传递给Picasso。
Picasso.with(this).load(/* url of image */).into(/*your imageview id*/);
在使用毕加索之前,您需要将毕加索库集成到您的gradle文件中。
compile 'com.squareup.picasso:picasso:2.5.2'
如果您想了解更多关于毕加索的信息,请访问link。