J'ai une URL d'image provenant de mon API repos. Maintenant, je veux le définir sur une image lorsque l'activité est en cours de chargement. Ci-dessous, voici comment je récupère le haricot de l’API de repos, puis l’URL.
Message message=new Message();
String imageUrl=message.getImageUrl();
Je reçois l'objet Message de ma base de données et l'URL de l'image est incluse dans cet objet Message.
Ensuite, j'ai utilisé l'objet URL pour obtenir cette image URL.
URL url = null;
try {
url = new URL(imageUrl);
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
contentImageView.setImageBitmap(bmp);
} catch (Exception e) {
e.printStackTrace();
}
J'ai utilisé les codes ci-dessus pour charger l'image dans un objet imageview qui est contentImageView
.
Mais je ne peux toujours pas charger cette image dans imageview, rien ne se charge.
avoir des idées?
Le moyen le plus simple de le faire est d'utiliser quelque chose comme Picasso ou Glide:
Picasso.with(getContext()).load(imgUrl).fit().into(contentImageView);
vous pouvez ajouter une bibliothèque picasso dans votre titre: compile 'com.squareup.picasso:picasso:2.5.2'
Veuillez essayer cette fonction pour obtenir bitmap
public Bitmap getBitmapfromUrl(String imageUrl)
{
try
{
URL url = new URL(imageUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(input);
return bitmap;
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
Utilisez Glide ou la bibliothèque Picasa pour des performances efficaces
Les dépendances
compile 'com.github.bumptech.glide:glide:3.7.0'
Exemple de code
Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(imageview);
Références: Glide official docs https://github.com/bumptech/glide
Si vous voulez le faire sans aucune bibliothèque:
Si vous avez une image bitmap en mémoire
setImageBitmap (Bitmap bm) // Définit une bitmap comme contenu de cette image.
Si vous avez une image dans un dossier pouvant être dessiné
setImageResource (int resId) // Définit un dessin comme contenu de cette ImageView.
Référence: https://developer.Android.com/reference/Android/widget/ImageView.html