【问题标题】:Setting imageView from Firebase storage [duplicate]从 Firebase 存储设置 imageView [重复]
【发布时间】:2018-11-13 03:42:57
【问题描述】:

如果我已经有了用户上传图片的 url,我如何直接从 Firebase 将图片设置为 imageView?

【问题讨论】:

标签: android firebase android-imageview firebase-storage


【解决方案1】:

您可以使用 Glide 或 Picasso 等图片加载库,

1st在build.gradle(Moduke:App)的dependencies下添加依赖,

dependencies {
....
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
}

然后在您的图像视图从 url 加载图像的活动:

Glide.with(this).load(IMAGE_URL).into(imageView);

IMAGE_URL 是图像的 Firebase 存储 url,imageView 是显示图像的位置。

关注https://bumptech.github.io/glide/了解更多信息

【讨论】:

    【解决方案2】:

    如果您在客户端有可用的图像 URL。实施 GLIDE 并将 URL 和 ImageView 传递给 Glide。它将负责向客户显示图像。

    ImageView imageView = findViewById(R.id.imageView_ID);
    
    RequestOptions requestOption = new RequestOptions()
            .placeholder(R.drawable.placeholder)
                    .error(R.drawable.ic_error_1)
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .priority(Priority.HIGH)
                    .dontAnimate()
                    .dontTransform()
    
    new Glide
        .with(mcontext)
            .load("https://placeholder.com/img/products/imageurl.png")
            .apply(requestOption)
            .thumbnail(0.1f)
            .into(imageView)
    

    添加依赖 实施 'com.github.bumptech.glide:glide:4.8.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

    【讨论】:

      【解决方案3】:
                private CircleImageView uDisplayImage;
        currentFirebaseUser = FirebaseAuth.getInstance().getCurrentUser();
                  FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
      
                  String uId = currentFirebaseUser.getUid();
                  myRef = firebaseDatabase.getReference("user").child(uId);
            myRef.addValueEventListener(new ValueEventListener() {
                      @Override
                      public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
      
      
      
                          image = dataSnapshot.child("image").getValue().toString();
      
      
                          if (!image.equals("default")) {
      
                              Picasso.get().load(image).placeholder(R.drawable.idofcircularview).into(uDisplayImage);
                          }
      
      
      
                      }
      
                      @Override
                      public void onCancelled(@NonNull DatabaseError databaseError) {
                          Toast.makeText(SattingsActivity.this, "Sorry Data is not found", Toast.LENGTH_SHORT).show();
      
                      }
                  });
          implementation 'de.hdodenhof:circleimageview:2.2.0'
              implementation 'com.squareup.picasso:picasso:2.71828'
      

      【讨论】:

        猜你喜欢
        • 2014-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多