Im utilisant Glide de l'interface utilisateur Firebase pour lier un ImageView à mon stockage Firebase. Maintenant, cela fonctionne bien, mais je suis en train de mettre en œuvre une mise à jour où les utilisateurs peuvent changer leur image de profil, le nom de l'image et le chemin reste le même. Soit mon anglais est faible pour comprendre la documentation de Glide ou il n'y a tout simplement pas moyen de reconnaître les mises à jour de Glide. J'ai lu quelque chose sur les demandes ici http://bumptech.github.io/glide/doc/options.html mais je ne peux pas le comprendre.Firebase UI - View ne met pas à jour
Définir l'arbitre droite:
this.profileRef = this.mStorageRef.child("images").child(FirebaseAuth.getInstance()
.getCurrentUser().getUid()).child("Profile");
appel de la fonction onCreate:
Glide.with(getContext())
.using(new FirebaseImageLoader())
.load(profileRef)
.into(this.imgProfile);
Mais ne sais pas comment dire Glide de mettre à jour l'image, dans le code ci-dessous je viens frustré et essayé pour régler à nouveau le Glide, mais comme attendu, il n'a rien fait, le ImageView est encore en train de charger l'Image Cache. Rien ne se passe aussi lorsque j'ai essayé Glide.clear (voir). Peut-être que quelqu'un a déjà fait face à ce problème peut m'aider.
profileRef.putFile(file).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Glide.with(getContext())
.using(new FirebaseImageLoader())
.load(profileRef)
.into(imgProfile);
}
});
Correction: Je l'ai remplacé le getCurrentTimeStamp() avec UUID dans SharedPreferences, son une sorte de versioning. Je l'ai fait parce que dans le code ci-dessus, Glide télécharge toujours les images! – niksn