我在我的android应用程序中使用listView,它有一个textView和一个imageView。 从我想要在imageView中显示的Web服务URL获取。 但很多图片网址未加载。我尝试了下载图片URL的“Android通用图片加载器”和“毕加索”。我使用图像网址和相同的结果尝试了这些API示例应用程序。 图片网址有效。所有图像都在浏览器中打开。 为什么有些图像加载了一些图像不加载?我不懂为什么。 感谢您的回答。通用图像加载器和毕加索不加载一些图像的URL
0
A
回答
3
问题是,您的服务器正在将请求URL更改为移动设备,并且移动服务器中不存在图像。强制UIL使用其他代理应使服务器不重定向您的请求。
您DisplayImageOptions与UIL试试这个
Map<String, String> headers = new HashMap<String, String>();
headers.put("User-Agent","");
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.dummyhotelimage)
.showImageForEmptyUri(R.drawable.dummyhotelimage)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.extraForDownloader(headers)
.bitmapConfig(Bitmap.Config.RGB_565)
.imageScaleType(ImageScaleType.EXACTLY)
.build();
ImageLoader.getInstance().init(new ImageLoaderConfiguration.Builder(getActivity()).imageDownloader(new CustomImageDownloader(context)).build());
ImageLoader.getInstance().displayImage(fullImageUrl, holder.img_hotel, options);
然后创建一个自定义的ImageDownloader
public class CustomImageDownaloder extends BaseImageDownloader {
public CustomImageDownaloder(Context context) {
super(context);
}
public CustomImageDownaloder(Context context, int connectTimeout, int readTimeout) {
super(context, connectTimeout, readTimeout);
}
@Override
protected HttpURLConnection createConnection(String url, Object extra) throws IOException {
HttpURLConnection conn = super.createConnection(url, extra);
Map<String, String> headers = (Map<String, String>) extra;
if (headers != null) {
for (Map.Entry<String, String> header : headers.entrySet()) {
conn.setRequestProperty(header.getKey(), header.getValue());
}
}
return conn;
}
}
来源:https://github.com/nostra13/Android-Universal-Image-Loader/issues/340
相关问题
- 1. 循环毕加索加载url图像
- 2. 回收毕加索图像加载器
- 3. 实施毕加索不加载图像
- 4. 加载图像与毕加索
- 5. 毕加索图像未加载Gridview Android
- 6. 无法加载包含%url的图像与毕加索
- 7. 保存图像在SD卡后毕加索加载图像
- 8. 毕加索图像加载以前缓存图像
- 9. 毕加索大图像下载
- 10. 毕加索下载随机图像
- 11. 毕加索在第一次来电时不会加载图像
- 12. Android通用图像加载器和几个图像的URL
- 13. 无法加载图像在Android使用毕加索图书馆
- 14. 毕加索不从http url加载图片,但从https url加载图片?
- 15. 毕加索无法加载某些URL的图像(无特殊字符)
- 16. Recyclerview,otifyItemChanged()和毕加索加载的图像
- 17. 与毕加索的网格视图无法加载图像
- 18. 水平列表视图从URL加载相同的图像(使用毕加索)
- 19. 毕加索不加载更新的图像从Web在Android
- 20. 加载毕加索的图像并不总是显示
- 21. 毕加索 - 加载图像到适配器
- 22. 毕加索和PhotoView库加载图像到ImageView怪异
- 23. 图像不从URL加载
- 24. 毕加索仅在BaseAdapter中加载一个图像
- 25. 毕加索for循环加载只有一个图像
- 26. 毕加索图像未在第一次运行时加载
- 27. ListView仅在第一次加载毕加索图像时滞后
- 28. 毕加索图像重新加载滚动在列表视图
- 29. 使用磁盘上的毕加索加载图像
- 30. 设置使用毕加索加载图像的最大宽度
你能发布更多细节?例如,一些网址 - 最好有一些可以工作,有些则不可以。 – Intrications 2014-09-10 08:37:34
你能告诉我们你的堆栈跟踪吗? UIL显示失败图像的日志错误。我们可以从那里开始 – 2014-09-10 08:37:56
也许在线程上运行多个线程,因此发生某处OutOfMemoryError尝试在UIL中设置一个线程并将其放置在默认配置中.bitmapConfig(Bitmap.Config.RGB_565)'和'.imageScaleType(ImageScaleType .EXACTLY)' – 2014-09-10 08:39:29