comment définir l'image à partir de l'url pour imageView
je veux définir l'Image dans ImageView à l'aide de l'Url, par exemple j'ai cette url
mais il n'y a pas d'option pour définir l'url
8 réponses
EDIT:
Créer une classe qui étend la classe AsyncTask
public class ImageLoadTask extends AsyncTask<Void, Void, Bitmap> {
private String url;
private ImageView imageView;
public ImageLoadTask(String url, ImageView imageView) {
this.url = url;
this.imageView = imageView;
}
@Override
protected Bitmap doInBackground(Void... params) {
try {
URL urlConnection = new URL(url);
HttpURLConnection connection = (HttpURLConnection) urlConnection
.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
imageView.setImageBitmap(result);
}
}
Et appelez cela comme new ImageLoadTask(url, imageView).execute();
méthode Directe:
utilisez cette méthode et passez votre url en chaîne. Il renvoie une image bitmap. Réglez le bitmap sur votre ImageView.
public static Bitmap getBitmapFromURL(String src) {
try {
Log.e("src",src);
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
Log.e("Bitmap","returned");
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
Log.e("Exception",e.getMessage());
return null;
}
}
Et puis ce ImageView comme suit:
imageView.setImageBitmap(getBitmapFromURL(url));
et n'oubliez pas cette permission dans maifest.
<uses-permission android:name="android.permission.INTERNET" />
NOTE:
essayez d'appeler cette méthode à partir d'un autre thread ou AsyncTask parce que nous effectuons des opérations de réseau.
Essaie:
URL newurl = new URL(photo_url_str);
mIcon_val = BitmapFactory.decodeStream(newurl.openConnection() .getInputStream());
profile_photo.setImageBitmap(mIcon_val);
Plus de
1)comment à la charge de l'imageview-par-url-dans-android.
2)android-faire-une-image-dans-une-url-égal-à-imageviews-image
facile à utiliser Aquery bibliothèque, elle permet d'obtenir directement charger une image à partir de l'url
AQuery aq=new AQuery(this); // intsialze aquery
aq.id(R.id.ImageView).image("http://www.vikispot.com/z/images/vikispot/android-w.png");
essayez la bibliothèque SimpleDraweeView
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/badge_image"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
et maintenant vous pouvez simplement faire:
final Uri uri = Uri.parse(post.getImageUrl());
si vous fabriquez un RecyclerView et utilisez un adaptateur, ce qui a fonctionné pour moi était:
@Override
public void onBindViewHolder(ADAPTERVIEWHOLDER holder, int position) {
MODEL model = LIST.get(position);
holder.TEXTVIEW.setText(service.getTitle());
holder.TEXTVIEW.setText(service.getDesc());
Context context = holder.IMAGEVIEW.getContext();
Picasso.with(context).load(model.getImage()).into(holder.IMAGEVIEW);
}
essaye ceci :
ImageView imageview = (ImageView)findViewById(R.id.your_imageview_id);
Bitmap bmp = BitmapFactory.decodeFile(new java.net.URL(your_url).openStream());
imageview.setImageBitmap(bmp);
Vous pouvez aussi essayer ceci : Android-Universel-Image-Chargeur pour charger efficacement votre image à partir de URL