Как установить изображение из url для imageView

Я хочу установить Image в ImageView, используя Url, например, у меня есть этот url

http://www.google.iq/imgres?hl=en&biw=1366&bih=667&tbm=isch&tbnid=HjzjsaANDXVR9M:&imgrefurl=http://www.vectortemplates.com/raster-batman.php&docid=FxbVmggVf–0dM&imgurl=http:/ /www.vectortemplates.com/raster/batman-logo-big.gif&w=2072&h=1225&ei=Zeo_UoSWIMaR0AXl_YHIBg&zoom=1

Но нет возможности установить URL-адрес

Solutions Collecting From Web of "Как установить изображение из url для imageView"

РЕДАКТИРОВАТЬ:

Создайте класс, расширяющий 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); } } 

И назовите это как new ImageLoadTask(url, imageView).execute();

Прямой метод:

Используйте этот метод и передайте свой url как строку. Он возвращает растровое изображение. Установите растровое изображение в 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; } } 

А потом это для ImageView, как:

 imageView.setImageBitmap(getBitmapFromURL(url)); 

И не забывайте об этом разрешении в манифесте.

 <uses-permission android:name="android.permission.INTERNET" /> 

ЗАМЕТКА:

Попробуйте вызвать этот метод из другого потока или AsyncTask, потому что мы выполняем сетевые операции.

Вы также можете позволить библиотеке площади Пикассо сделать тяжелый подъем:

 Picasso .with(context) .load("http://...") .into(imageView); 

В качестве бонуса вы получаете кеширование, преобразования и многое другое.

Пытаться:

 URL newurl = new URL(photo_url_str); mIcon_val = BitmapFactory.decodeStream(newurl.openConnection() .getInputStream()); profile_photo.setImageBitmap(mIcon_val); 

Больше от

1) как-to-load-an-imageview-by-url-in-android .

2) android-make-an-image-at-a-url-equal-to-imageviews-image

Использование библиотеки Glide :

 Glide.with(context) .load(new File(url) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(imageView); 

Простой способ использовать библиотеку Aquery, это помогает получить изображение с прямой загрузкой с URL- адреса

 AQuery aq=new AQuery(this); // intsialze aquery aq.id(R.id.ImageView).image("http://www.vikispot.com/z/images/vikispot/android-w.png"); 

Попробуйте библиотеку SimpleDraweeView

 <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/badge_image" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> 

И теперь вы можете просто сделать:

  final Uri uri = Uri.parse(post.getImageUrl()); 

Если вы делаете RecyclerView и используете адаптер, то для меня это было:

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

Попробуй это :

 ImageView imageview = (ImageView)findViewById(R.id.your_imageview_id); Bitmap bmp = BitmapFactory.decodeFile(new java.net.URL(your_url).openStream()); imageview.setImageBitmap(bmp); 

Вы также можете попробовать: Android-Universal-Image-Loader для эффективной загрузки изображения с URL