Android SDK从HTTP获取图像

时间:2012-10-22 13:41:41

标签: java android http imageview http-get

我在下载和放入从ULR下载的ImageView图像时遇到问题,通常很容易使用

imgView.setImageDrawable(grabImageFromUrl(url));

但在我的情况下,我需要使用我编写的HttpClient来检查证书。我想我必须使用HTTPGEt,我已经在响应Json字符串之前使用过它,但我找不到一种方法来获取图片。

有没有人在这种行动中有所帮助?

3 个答案:

答案 0 :(得分:3)

实际上我已经找到了解决问题的方法,如果有任何用户遇到类似的问题,我会在这里发布:

Bitmap bmp =null;
        DefaultHttpClient client = new MyHttpClient(ShowNotification.this);
        HttpGet get = new HttpGet(url);
        HttpResponse getResponse = null;
        try {
            getResponse = client.execute(get);
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        String entityContents="";
        HttpEntity responseEntity = getResponse.getEntity();
        BufferedHttpEntity httpEntity = null;
        try {
            httpEntity = new BufferedHttpEntity(responseEntity);
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        InputStream imageStream = null;
        try {
            imageStream = httpEntity.getContent();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        bmp = BitmapFactory.decodeStream(imageStream);

        ImageView imgView =(ImageView)findViewById(R.id.imgView);
        imgView.setImageBitmap(bmp);

答案 1 :(得分:0)

您只需将图片网址传递给您的方法:grabImageFromUrl(网址)。可能是它有问题。你能告诉我们它的内容吗?

这个简单的教程可以帮助您解决问题 http://www.vogella.com/articles/AndroidNetworking/article.html

答案 2 :(得分:0)

我推荐你这个优秀的小型图书馆项目:

Android-Universal-Image-Loader

它允许异步加载。