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