0

我在我的android应用程序中使用listView,它有一个textView和一个imageView。 从我想要在imageView中显示的Web服务URL获取。 但很多图片网址未加载。我尝试了下载图片URL的“Android通用图片加载器”和“毕加索”。我使用图像网址和相同的结果尝试了这些API示例应用程序。 图片网址有效。所有图像都在浏览器中打开。 为什么有些图像加载了一些图像不加载?我不懂为什么。 感谢您的回答。通用图像加载器和毕加索不加载一些图像的URL

+0

你能发布更多细节?例如,一些网址 - 最好有一些可以工作,有些则不可以。 – Intrications 2014-09-10 08:37:34

+1

你能告诉我们你的堆栈跟踪吗? UIL显示失败图像的日志错误。我们可以从那里开始 – 2014-09-10 08:37:56

+0

也许在线程上运行多个线程,因此发生某处OutOfMemoryError尝试在UIL中设置一个线程并将其放置在默认配置中.bitmapConfig(Bitmap.Config.RGB_565)'和'.imageScaleType(ImageScaleType .EXACTLY)' – 2014-09-10 08:39:29

回答

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

+0

我试过了,但不幸的是没有工作 – realuser 2014-09-10 10:03:06

+0

堆栈跟踪看起来是否一样?带有m。*。jpg的url的FileNotFoundException? – 2014-09-10 10:04:26

+0

是的正确,看起来堆栈跟踪相同的错误 – realuser 2014-09-10 10:08:14

相关问题