Как отобразить изображение из Интернета в Android?

Как я могу отображать изображение в ImageView в android из URL-адреса (из Интернета)?

Ответ 1

Вы можете использовать метод setImageDrawable

ImageView iv = new ImageView;

URL url = new URL(address);
InputStream content = (InputStream)url.getContent();
Drawable d = Drawable.createFromStream(content , "src"); 
iv.setImageDrawable(d)

[2014-12-16] Редактировать: использование Picasso делает вашу жизнь намного проще

String url = "http://i.imgur.com/bIRGzVO.jpg";
ImageView iv = new ImageView;

Picasso.with(context).load(url).into(iv);
//Picasso.with(context).load(url).centerCrop().fit().into(iv);

Ответ 2

Я думаю, вы можете использовать метод setImageUri. URI можно построить с помощью Uri.parse.

Ответ 3

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

                String myfeed="http://174.136.1.35/dev/atmsearch/visa.jpg";

                try{

                    URL url=new URL(myfeed);
                    URLConnection connection=url.openConnection();
                    connection.setDoOutput(true);
                    connection.setDoOutput(true);
                    connection.setRequestProperty("METHOD", "POST");
                    connection.setRequestProperty("Content-Type","application/x-www-from-urlencoded");

                    HttpURLConnection httpConnection=(HttpURLConnection)connection;

                    int responsecode=httpConnection.getResponseCode();

                    if(responsecode==HttpURLConnection.HTTP_OK){
                        InputStream in=((URLConnection)httpConnection).getInputStream();
                        int len=0;
                        Bitmap b=BitmapFactory.decodeStream(in);



                        System.out.println(b.toString());


                        byte[] data1=new byte[1024];

                        while(-1!=(len=in.read(data1))){
                            System.out.println("--input stream--");
                            datafromserver.append(new String(data1,0,len));

                        }
                        //System.out.println(datafromserver);
                    }

                }catch(IOException e){
                    System.out.println("Error...."+e);
                    //Toast.makeText(context, text, duration)

                }

//Теперь установите растровое изображение в виде изображения imageview.setImageBitmap(б);

Ответ 4

Сначала нажмите ссылку на изображение, затем вы получите изображение в виде байтового массива. Теперь просто декодируйте массив байтов в растровое изображение. Давайте посмотрим:

package Image.Read.a;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

import android.graphics.BitmapFactory;

public class Connecetion1
{
 public void setNetwork()
 {
    try
    {

        URL url = new URL("http://3.bp.blogspot.com/_9UYLMDqrnnE/S4UgSrTt8LI/AAAAAAAADxI/drlWsmQ8HW0/s400/sachin_tendulkar_double_century.jpg");

        URLConnection connection=url.openConnection();

        HttpURLConnection HCon=(HttpURLConnection)connection;

        int ResCode=HCon.getResponseCode();

        System.out.println("Responce Code is = "+ResCode);


        if(ResCode==HttpURLConnection.HTTP_OK)
        {

        InputStream ins=((URLConnection)HCon).getInputStream();   

              Data.StoreImg=BitmapFactory.decodeStream(ins);


        }

    }
    catch (MalformedURLException e)
        {

        e.printStackTrace();
    } catch (IOException e)
        {

          e.printStackTrace();
         }

 }

}

Вы можете получить полный учебник из http://www.androidcookers.blogspot.com/2011/06/retrieve-image-from-internet.html