我在我的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