Le chargement des images à distance
Dans Android, ce qui est l'approche la plus simple pour la suite:
- Charger une image à partir d'un serveur distant.
- L'afficher dans une ImageView.
OriginalL'auteur Emanuil Rusev | 2010-06-19
Vous devez vous connecter pour publier un commentaire.
Voici une méthode que j'ai utilisé dans une application et que je sais que ça fonctionne:
Je n'ai aucune idée de ce que le deuxième paramètre à
Drawable.createFromStream
est, mais le passage"src"
semble fonctionner. Si quelqu'un sait, merci de jeter un peu de lumière, comme les docs n'ont pas vraiment dire quoi que ce soit.Avez-vous testé? Ne semble pas fonctionner ici.
Non, cela ne fonctionne pas.
D'autres stackoverflow questions semblent indiquer que "src" est inutile.
Votre extrait de code ne doit pas être utilisé en U. I. thread, le fonctionnement du réseau pourraient bloquer l'application et déclenche une ANR fenêtre. Vous devez utiliser ASynctask ou un thread d'arrière-plan de votre propre pour gérer les téléchargements. Il y a certaines bibliothèques, comme code.google.com/p/droid4me/wiki/BitmapDownloader qui permet de gérer le téléchargement de l'image de la bonne façon.
OriginalL'auteur Felix
La façon la plus simple jusqu'à présent, c'est créer une image simple retriver:
Ensuite, vous avez juste à fournir une URL de la méthode et il renvoie un
Bitmap
. Ensuite, vous aurez juste à utiliser lesetImageBitmap
méthode deImageView
pour afficher l'image.OriginalL'auteur Cristian
Être prudent avec à la fois des réponses ici - ils à la fois courir la chance d'un
OutOfMemoryException
. Tester votre application en essayant de télécharger une image de grande taille, tels que papier peint pour le bureau. Pour être clair, la délinquance lignes sont :final Bitmap bm = BitmapFactory.decodeStream(bis);
et
Drawable thumb_d = Drawable.createFromStream(thumb_u.openStream(), "src");
Felix la réponse de l'attraper dans le catch{} déclaration, et vous pourriez faire quelque chose à ce sujet là.
Ici est de savoir comment contourner le
OutOfMemoryException
erreur:Et voici mes commentaires à ce sujet dans mon code
Liens de commentaires ci-dessus:
Lien 1
Lien 2
OriginalL'auteur Hamy
Vous pouvez également essayer cette lib:
https://github.com/codingfingers/fastimage
Quand nous avons eu quelques projets avec le même motif, et la lib est venu 😉 alors pourquoi ne pas partager avec d'autres...
OriginalL'auteur Daniel Dudek