我正在尝试使用异步请求从网址中获取图片,以防止网址被挂起。这是我为此使用的一段代码
private void setImg(final ImageView im, String url){
AsyncHttpClient client = new AsyncHttpClient();
client.get(url, new AsyncHttpResponseHandler(){
public void onSuccess(String response){
try{
byte[] imageAsBytes = response.getBytes();
im.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));
im.refreshDrawableState();
} catch(Throwable e){
e.printStackTrace();
}
}
});
}
这总是在logcat中显示此警告
12-29 01:55:33.043: D/skia(14414): --- SkImageDecoder::Factory returned null
我找不到适当的原因。有什么帮助吗?
最佳答案
现在,已将二进制响应处理程序添加到AsyncHttp中,您可以简单地使用androids的BitmapFactory.decodeByeArray函数:
AsyncHttpClient client = new AsyncHttpClient();
client.get(image_url, null, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(byte[] fileData) {
Bitmap image = BitmapFactory.decodeByteArray(fileData, 0, fileData.length);
//Do whatever you want with the image variable
}
});