Firebase Storage и изображения для Android

Поэтому я хочу получить изображение из хранилища Firebase (у меня есть общедоступные правила).

Это то, что у меня есть

    ImageView image = (ImageView)findViewById(R.id.imageView);
    Glide.with(this)
    .load("https://firebasestorage.googleapis.com/v0/b/test-7c916.appspot.com/o/images.jpg?alt=media&token=b207cb11-9ad5-48e3-86ac-1dcb07ee6013")
    .into(image);

И я вместо того, чтобы использовать ссылку https. Я хочу использовать ссылку на хранилище. Но каждый раз, когда я пытаюсь использовать ссылку на хранилище, мое приложение вылетает. Пожалуйста помоги.

Как и метод.child().

2 ответа

Вам нужно использовать StorageReference загрузить образ хранилища Firebase.

   // Reference to an image file in Cloud Storage
StorageReference storageReference = = FirebaseStorage.getInstance().getReference().child("myimage");


ImageView image = (ImageView)findViewById(R.id.imageView);

// Load the image using Glide
Glide.with(this /* context */)
        .using(new FirebaseImageLoader())
        .load(storageReference)
        .into(image );

Для получения более подробной информации вы можете проверить Использование FirebaseUI для загрузки и отображения изображений.

Поместите этот класс FirebaseImageLoader.java в ваш источник или напишите сами.

Создайте класс в любом месте источника вашего приложения, как показано ниже.

@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());
    }
}

Где вы хотите загрузить изображение Coad, как показано ниже.

StorageReference storageReference = FirebaseStorage
                                    .getInstance().getReference().child("myimage");

Glide.with(getApplicationContext())
      .load(completeStorageRefranceToImage)
      .into(imageView);

Пожалуйста, обратитесь за более подробной информацией.

Так использовал код pRaNaY, как это

    StorageReference storageReference = FirebaseStorage.getInstance().getReference().child("images.jpg");
    ImageView image = (ImageView)findViewById(R.id.imageView);
    Glide.with(this).using(new FirebaseImageLoader()).load(storageReference).into(image );

Причина, по которой я хочу использовать ссылку, заключается в том, что у меня будут имена всех изображений в текстовом файле, и я буду читать имена изображений из него и создаю цикл while, чтобы загрузить все нужные мне изображения в нужное место.

Еще один вопрос: как мне узнать, является ли изображение нулевым, не проверяя, является ли ImageView нулевым?

Другие вопросы по тегам