我在我的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. 回收毕加索图像加载器
- 2. 实施毕加索不加载图像
- 3. 毕加索图像未加载Gridview Android
- 4. 加载图像与毕加索
- 5. 无法加载包含%url的图像与毕加索
- 6. 毕加索图像加载以前缓存图像
- 7. 毕加索下载随机图像
- 8. 毕加索在第一次来电时不会加载图像
- 9. 毕加索不从http url加载图片,但从https url加载图片?
- 10. 毕加索无法加载某些URL的图像(无特殊字符)
- 11. 水平列表视图从URL加载相同的图像(使用毕加索)
- 12. 毕加索不加载更新的图像从Web在Android
- 13. 加载毕加索的图像并不总是显示
- 14. 毕加索 - 加载图像到适配器
- 15. 毕加索仅在BaseAdapter中加载一个图像
- 16. 毕加索图像未在第一次运行时加载
- 17. 毕加索图像重新加载滚动在列表视图
- 18. 使用通用图像加载器加载图像使用图像路径
- 19. 使用磁盘上的毕加索加载图像
- 20. 毕加索使用自己的图像加载目标很慢
- 21. 设置使用毕加索加载图像的最大宽度
- 22. Android:加载图像与毕加索onBitMapLoaded不叫
- 23. 毕加索:图像不在5.1.1中加载,但在4.2.1中加载
- 24. 加载器不会加载大图像
- 25. 图像未使用UIL,凌空或毕加索加载
- 26. 离线时使用SSL加载毕加索图像
- 27. 图像未加载使用毕加索没有错误给出
- 28. 毕加索加载图像的三角形在图像的角落
- 29. 毕加索图书馆和GridView图像
- 30. 通用图像加载器在Android中加载时显示不同的图像
你能发布更多细节?例如,一些网址 - 最好有一些可以工作,有些则不可以。 – 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