Skip to content
This repository has been archived by the owner on Jun 29, 2022. It is now read-only.

Latest commit

 

History

History
56 lines (43 loc) · 2.32 KB

README.md

File metadata and controls

56 lines (43 loc) · 2.32 KB

FirebaseUI for Android — Storage

Using FirebaseUI to download and display images

Cloud Storage for Firebase provides secure file uploads and downloads for your Firebase apps, regardless of network quality. You can use it to store images, audio, video, or other user-generated content. Cloud Storage is a powerful, simple, and cost-effective object storage service.

FirebaseUI provides bindings to download an image file stored in Cloud Storage from a StorageReference and display it using the popular Glide library. This technique allows you to get all of Glide's performance benefits while leveraging Cloud Storage's authenticated storage capabilities.

To load an image from a StorageReference, first register in your AppGlideModule:

@GlideModule
public class MyAppGlideModule extends AppGlideModule {

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

Then you can load a StorageReference into an ImageView:

// Reference to an image file in Cloud Storage
StorageReference storageReference = ...;

// ImageView in your Activity
ImageView imageView = ...;

// Download directly from StorageReference using Glide
// (See MyAppGlideModule for Loader registration)
GlideApp.with(this /* context */)
        .load(storageReference)
        .into(imageView);

If GlideApp is not an importable class, build your application first before trying to use. For more information, see Glide v4 'Generated API' documentation.

Images displayed using FirebaseImageLoader are cached by their path in Cloud Storage, so repeated loads will be fast and conserve bandwidth. For more information on caching in Glide, see this guide.