位图设置不起作用(Firebase存储)

时间:2017-11-06 02:22:26

标签: android firebase firebase-storage

我想从Firebase存储中检索并设置图像。我宣布了一个我在导航抽屉活动中使用的ImageView。我不知道为什么它没有显示在消息'Hello Tester'(绿色区域)的顶部,请参见下图。

enter image description here

这是我的代码:

@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,它可以正常工作。

1 个答案:

答案 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