Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SkImageDecoder::工厂返回null,URL正确_Java_Android - Fatal编程技术网

Java SkImageDecoder::工厂返回null,URL正确

Java SkImageDecoder::工厂返回null,URL正确,java,android,Java,Android,我试图将URL中的图像放在ImageView中,但一直出现“SkImageDecoder::Factory returned null”错误 这是我的密码: private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> { ImageView bmImage; public DownloadImageTask(ImageView bmImage) { this.bmIm

我试图将URL中的图像放在ImageView中,但一直出现“SkImageDecoder::Factory returned null”错误

这是我的密码:

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    ImageView bmImage;

    public DownloadImageTask(ImageView bmImage) {
        this.bmImage = bmImage;
    }

    protected Bitmap doInBackground(String... urls) {
        String myUrl= urls[0];

        Bitmap myBmp= null;
        try {
            InputStream in = new URL(urldisplay).openStream();
            myBmp= BitmapFactory.decodeStream(in);
        } catch (Exception e) {
            Log.e("Error", e.getMessage());
            e.printStackTrace();
        }
        return myBmp;
    }

    protected void onPostExecute(Bitmap result) {
        bmImage.setImageBitmap(result);
    }
}
私有类下载ImageTask扩展异步任务{
图像视图bmImage;
公共下载ImageTask(ImageView bmImage){
this.bmImage=bmImage;
}
受保护位图doInBackground(字符串…URL){
字符串myUrl=URL[0];
位图myBmp=null;
试一试{
InputStream in=新URL(urldisplay).openStream();
myBmp=BitmapFactory.decodeStream(in);
}捕获(例外e){
Log.e(“Error”,e.getMessage());
e、 printStackTrace();
}
返回myBmp;
}
受保护的void onPostExecute(位图结果){
bmImage.setImageBitmap(结果);
}
}
编辑:获取第一张图像后应用程序崩溃时的logcat

公共类customAdapter扩展了ArrayAdapter{
私人最终语境;
私有最终ArrayList值;
静态类视窗夹{
私有文本视图文本视图名称;
私有文本视图文本视图类型;
私人影像视图;
}
公共customAdapter(上下文、ArrayList值){
super(上下文、R.layout.list_成员、值);
this.context=上下文;
这个值=值;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
ViewHolder mViewHolder=null;
if(convertView==null){
mViewHolder=新的视图持有者();
LayoutFlater充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
convertView=充气机。充气(R.layout.list_成员,父级,false);
mViewHolder.textViewName=(TextView)convertView.findViewById(R.id.name);
mViewHolder.textViewType=(TextView)convertView.findViewById(R.id.type);
mViewHolder.imageView=(imageView)convertView.findViewById(R.id.image);
setTag(mViewHolder);
}
否则{
mViewHolder=(ViewHolder)convertView.getTag();
}
字符串s=值。获取(位置);
StringTokenizer st=新的StringTokenizer,“*”;
String name=st.nextToken();
字符串url_photo=st.nextToken();
字符串类型=st.nextToken();
if(type.equals(“CHILD”)){
字符串计数\u dev=st.nextToken();
mViewHolder.textViewType.setText(计数/开发);
}
否则{
mviewolder.textViewType.setText(类型);
}
mviewolder.textViewName.setText(名称);
新下载的ImageTask(mViewHolder.imageView).execute(url\u photo);
返回视图;
}
私有类DownloadImageTask扩展了AsyncTask{
图像视图bmImage;
公共下载ImageTask(ImageView bmImage){
this.bmImage=bmImage;
}
受保护位图doInBackground(字符串…URL){
//TODO自动生成的方法存根
字符串urlStr=URL[0];
位图img=null;
HttpClient=new DefaultHttpClient();
HttpGet请求=新的HttpGet(urlStr);
HttpResponse响应;
试一试{
response=(HttpResponse)client.execute(request);
HttpEntity=response.getEntity();
BufferedHttpEntity bufferedEntity=新的BufferedHttpEntity(实体);
InputStream InputStream=bufferedEntity.getContent();
img=BitmapFactory.decodeStream(inputStream);
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
返回img;
}
受保护的void onPostExecute(位图结果){
bmImage.setImageBitmap(结果);
}
}
}

根据要求,这是此类的完整代码

请尝试在后台方法中添加此代码:

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

尝试在后台方法中添加此代码:

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

无法解析HttpClient,无法解析getContent。我如何导入正确的库?为它添加导入然后,添加导入是必要的我添加了它,它加载了第一个映像,但它在没有打开下一个映像的情况下崩溃了,知道原因吗?检查logcat是否有错误,发布您正在使用的完整源代码。下一个元素抛出空值,无法解析HttpClient,无法解析getContent。如何导入正确的库?为它添加导入然后,添加导入是必要的。我添加了它,它加载了第一个映像,但它在没有打开下一个映像的情况下崩溃,知道原因吗?检查logcat是否有错误,发布您正在使用的完整源代码。下一个元素抛出一个空值,找到它。