Class FirebaseImageLoader

  • All Implemented Interfaces:
    com.bumptech.glide.load.model.ModelLoader<com.google.firebase.storage.StorageReference,​InputStream>

    public class FirebaseImageLoader
    extends Object
    implements com.bumptech.glide.load.model.ModelLoader<com.google.firebase.storage.StorageReference,​InputStream>
    ModelLoader implementation to download images from FirebaseStorage with Glide.

    First, register this class in your AppGlideModule:

             @Override
             public void registerComponents(Context context, Registry registry) {
                 // Register FirebaseImageLoader to handle StorageReference
                 registry.append(StorageReference.class, InputStream.class,
                         new FirebaseImageLoader.Factory());
             }
     

    Then load a StorageReference into an ImageView.

         StorageReference ref = FirebaseStorage.getInstance().getReference().child("myimage");
         ImageView iv = (ImageView) findViewById(R.id.my_image_view);
    
         GlideApp.with(this)
             .load(ref)
             .into(iv);
     
    • Constructor Detail

      • FirebaseImageLoader

        public FirebaseImageLoader()
    • Method Detail

      • buildLoadData

        @Nullable
        public com.bumptech.glide.load.model.ModelLoader.LoadData<InputStream> buildLoadData​(@NonNull
                                                                                             com.google.firebase.storage.StorageReference reference,
                                                                                             int height,
                                                                                             int width,
                                                                                             @NonNull
                                                                                             com.bumptech.glide.load.Options options)
        Specified by:
        buildLoadData in interface com.bumptech.glide.load.model.ModelLoader<com.google.firebase.storage.StorageReference,​InputStream>
      • handles

        public boolean handles​(@NonNull
                               com.google.firebase.storage.StorageReference reference)
        Specified by:
        handles in interface com.bumptech.glide.load.model.ModelLoader<com.google.firebase.storage.StorageReference,​InputStream>