android ImageView 中通过 URL加载图片报错 Android SkImageDecoder::Factory returned null Error

文章标签: android
2014-11-19 17:28:13     人阅读    

 

android新手,第一次开发,在 ImageView 中通过  URL加载图片报错,SkImageDecoder::Factory returned null.  不知道该如何解决,一脸茫然..
  
 就下面一段android代码

private class LoadImageFromURL extends AsyncTask<String, Void, Bitmap>{
        ImageView bitmapImgView;
        public LoadImageFromURL(ImageView bmImgView){
            bitmapImgView = bmImgView;
        }

        @Override
        protected Bitmap doInBackground(String... params) {
            // TODO Auto-generated method stub
            String urlStr = params[0];
            Bitmap img = null;
            try {
              //配置要加载的url地址
                URL url = new URL(urlStr);
                InputStream inputStream = url.openConnection().getInputStream();
                //Options bmFactoryOpt = new Options();
                //bmFactoryOpt.inJustDecodeBounds = false;
                img = BitmapFactory.decodeStream(inputStream);
            } catch (MalformedURLException e) {
                //这里输出错误信息
            } catch (IOException e) {
                  //这里输出错误信息
            }
            return img;
        }

        @Override
        protected void onPostExecute(Bitmap bitmap){
            bitmapImgView.setImageBitmap(bitmap);
        }
    }

处理方法

 简单修改下代码,看如下代码是如何处理的,

@Override
        protected Bitmap doInBackground(String... params) {
            // TODO Auto-generated method stub
            String urlStr = params[0];
            Bitmap img = null;

            HttpClient client = new DefaultHttpClient();
            HttpGet request = new HttpGet(urlStr);
            HttpResponse response;
            try {
                response = (HttpResponse)client.execute(request);
                HttpEntity entity = response.getEntity();
                BufferedHttpEntity bufferedEntity = new BufferedHttpEntity(entity);
                InputStream inputStream = bufferedEntity.getContent();
                img = BitmapFactory.decodeStream(inputStream);
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return img;
        }


原文地址:http://www.itmmd.com/201411/193.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

Android 5.0 getExternalMediaDirs() undefined 方法未定义   上一篇
下一篇  android 开发计算ViewPager高度的问题
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!