2017-05-07 1 views
0

Donc, je veux essentiellement obtenir une image à partir du stockage Firebase (j'ai des règles définies au public).Stockage Firebase et images Android

C'est ce que je

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); 

Et je au lieu d'utiliser un lien https. Je veux utiliser une référence de stockage. Mais chaque fois que j'essaie d'utiliser une référence de stockage, mon application se bloque. S'il vous plaît aider.

Comme la méthode .child().

+1

Pouvez-vous s'il vous plaît fournir le journal des erreurs où votre application se bloque. Cela nous aidera donc à mieux comprendre le crash. – pRaNaY

Répondre

1

Vous devez utiliser StorageReference pour charger l'image de stockage 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); 

Pour plus de détails Vous pouvez vérifier Using FirebaseUI to download and display images.

+0

Bien que l'utilisation d'un 'StorageReference' à partir du SDK Firebase soit en fait un moyen de télécharger à partir de Cloud Storage, il existe également une URL de téléchargement non lisible et publiquement lisible. C'est ce qu'utilise Alexei ici, donc cela devrait fonctionner avec n'importe quelle bibliothèque qui peut télécharger depuis HTTPS. –

+0

Merci monsieur pour plus d'informations sur l'accès au stockage Firebase. Donc, pour le cas Alexei, nous devons comprendre pourquoi l'application se bloque. – pRaNaY

+0

Lorsque j'essaie cette FirebaseImageLoader n'apparaît pas en bleu? Je ne peux pas l'utiliser? Mon application est xamarin.android seulement – Smac

0

donc utilisé le code pranay comme celui-ci

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); 

Il raison pour laquelle je veux utiliser une référence est parce que je vais avoir des noms de toutes les images dans un fichier txt et je lirai les noms des images de lui et créer une boucle while pour charger toutes les images dont j'ai besoin au bon endroit. Une seule question de plus, Comment puis-je savoir si l'image est nulle sans vérifier si ImageView est null?