Android的SkImageDe codeR ::厂返回null错误 [英] Android SkImageDecoder::Factory returned null Error
本文介绍了Android的SkImageDe codeR ::厂返回null错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从URL加载图像的ImageView的,但出现错误: SkImageDe codeR ::厂返回null。我该如何解决这个问题?
这是我的code:
私有类LoadImageFromURL扩展的AsyncTask<字符串,太虚,位图> {
ImageView的bitmapImgView;
公共LoadImageFromURL(ImageView的bmImgView){
bitmapImgView = bmImgView;
}
@覆盖
受保护的位图doInBackground(字符串... PARAMS){
// TODO自动生成方法存根
串urlStr = PARAMS [0];
位图IMG = NULL;
尝试 {
网址URL =新的URL(urlStr);
InputStream中的InputStream = url.openConnection()的getInputStream()。
//选项bmFactoryOpt =新的选项();
//bmFactoryOpt.inJustDe$c$cBounds = FALSE;
IMG = BitmapFactory.de codeStream(InputStream的);
}赶上(MalformedURLException异常E){
// TODO自动生成的catch块
e.printStackTrace();
}赶上(IOException异常E){
// TODO自动生成的catch块
e.printStackTrace();
}
返回IMG;
}
@覆盖
保护无效onPostExecute(位图位图){
bitmapImgView.setImageBitmap(位);
}
}
解决方案
解决。更改code到这一点。
@覆盖
受保护的位图doInBackground(字符串... PARAMS){
// TODO自动生成方法存根
串urlStr = PARAMS [0];
位图IMG = NULL;
HttpClient的客户端=新DefaultHttpClient();
HTTPGET请求=新HTTPGET(urlStr);
HTT presponse响应;
尝试 {
响应=(Htt的presponse)client.execute(要求);
HttpEntity实体= response.getEntity();
BufferedHttpEntity bufferedEntity =新BufferedHttpEntity(实体);
InputStream中的InputStream = bufferedEntity.getContent();
IMG = BitmapFactory.de codeStream(InputStream的);
}赶上(ClientProtocolException E){
// TODO自动生成的catch块
e.printStackTrace();
}赶上(IOException异常E){
// TODO自动生成的catch块
e.printStackTrace();
}
返回IMG;
}
I'm trying to load an image from URL to an ImageView but the error occurs: SkImageDecoder::Factory returned null. How can I fix it?
here is my code :
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 = new URL(urlStr);
InputStream inputStream = url.openConnection().getInputStream();
//Options bmFactoryOpt = new Options();
//bmFactoryOpt.inJustDecodeBounds = false;
img = BitmapFactory.decodeStream(inputStream);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return img;
}
@Override
protected void onPostExecute(Bitmap bitmap){
bitmapImgView.setImageBitmap(bitmap);
}
}
解决方案
Solved. Change the code to this.
@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;
}
这篇关于Android的SkImageDe codeR ::厂返回null错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文