android 加载网络图片的时候log打印 SkImageDecoder::Factory returned null,图片出不来。
查了一下,有人说是javanet 不如apache做得好,但是换成apache的httpclient 也会有这个问题。后来发现是http返回的状态码是错的,也就是用根本就访问不到。做http请求时候一般都会对返回结果进行判断,查看状态码是否正确,这次偏偏为了省事儿给忘了。
apache 代码如下:
写道
HttpGet httpRequest = new HttpGet(url);
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 30000);
httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 30000);
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
if (response.getStatusLine().getStatusCode() == 200) {
//返回结果正确
decodesteam(XXX);
}else{
//返回结果错误
}
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 30000);
httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 30000);
HttpResponse response = (HttpResponse) httpclient.execute(httpRequest);
if (response.getStatusLine().getStatusCode() == 200) {
//返回结果正确
decodesteam(XXX);
}else{
//返回结果错误
}
java net 的HttpURLConnection 的用法是
写道
conn.getResponseCode()
本文探讨了Android应用中使用Java.net及Apache HttpClient加载网络图片时遇到的问题,特别是当图片无法加载且出现“SkImageDecoder::Factory returned null”错误的情况。文章提供了详细的解决方案,包括检查HTTP响应状态码的方法。
2174

被折叠的 条评论
为什么被折叠?



