2 o casper ne O_Casper_ne 于 2013.03.27 14:32 提问

不能从 url 中获取图像

我想从url中获取图像,用的下面的代码:

 public class Img extends Activity {
/** Called when the activity is first created. */
ImageView img;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    img = (ImageView)findViewById(R.id.imgview);

    Bitmap bm = getBitmapFromURL("http://l.yimg.com/a/i/us/we/52/21.gif");
    if(bm == null)
        Toast.makeText(this, "Image can't load", 1).show();
    else
        img.setImageBitmap(bm);
}


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

但是获得的消息是: "Image can't load"。如何解决这个问题?

2个回答

CSDN_Ask
CSDN_Ask   2013.04.02 11:05
已采纳

试一下下面的代码:

 ImageView img;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    img = (ImageView)findViewById(R.id.imgview);

    Drawable image = getBitmapFromURL("http://l.yimg.com/a/i/us/we/52/21.gif");
    if(image == null)
        Toast.makeText(this, "Image can't load", 1).show();
    else
        img.setImageDrawable(image);
}

public Drawable  getBitmapFromURL(String url) {
try {
    InputStream is = (InputStream) new URL(url).getContent();
    Drawable d = Drawable.createFromStream(is, "src name");
    return d;
} catch (Exception e) {
    return null;
}
}
LiDaming_and
LiDaming_and   2013.04.02 11:10
private Bitmap downloadUrl(String url) {
                InputStream myInputStream =null;
             Bitmap myBitmap;
        StringBuilder sb = new StringBuilder();
                //adding some data to send along with the request to the server
        sb.append("name=Anthony");
        URL url;
        try {
            url = new URL(url);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setDoOutput(true);
            conn.setRequestMethod("POST");
            OutputStreamWriter wr = new OutputStreamWriter(conn
                    .getOutputStream());
                        // this is were we're adding post data to the request
                        wr.write(sb.toString());
            wr.flush();
            myInputStream = conn.getInputStream();
            wr.close();
                     myBitmap = BitmapFactory.decodeStream(myInputStream);

        } catch (Exception e) {
                        //handle the exception !
            Log.d(TAG,e.getMessage());
        }
                return myBitmap;
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!