我很新的Android開發,並花了整天看着問題與我的ListAdapter,但找不到任何答案,幫助我解決了我的問題。BitmapFactory:無法解碼流
我有一個從URL解析的JSON NewsString,需要將縮略圖加載到ListView中。 我試圖通過Imageloader(https://github.com/novoda/ImageLoader#directloader-utility)加載它,然後將位圖轉換爲Drawable,以便我可以在我的ListView中使用它(之前做過)。
我有權限的清單:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
而且JSONObject的是在那裏的AsyncTask我嘗試加載從URL中的圖像解析。
try {
String url = e.getString("imageThumb");
Bitmap bmp = new DirectLoader().download(url);
Drawable d = new BitmapDrawable(null,bmp);
Log.d("getBitmap", d.toString());
row.put("thumb", d);
}catch (Exception e5) {
Log.e("IMG", "Failed to load Thumbnail From URL: "+e5.toString());
Drawable d = MainActivity.hweb_icon;
row.put("thumb", d);
}
,但我總是得到同樣的錯誤信息:
我試了幾個教程和其他的東西,但它從來沒有摸索出適合我。 該URL是正確的,不需要任何編碼。
我以前的做法是這樣的:
try {
String url = e.getString("imageThumb");
InputStream in = new java.net.URL(url).openStream();
Bitmap bmp = BitmapFactory.decodeStream(in);
Drawable d = new BitmapDrawable(null,bmp);
row.put("thumb", d);
}catch (Exception e5) {
// handle it
Log.e("IMG", "Failed to load Thumbnail From URL : "+e5.toString());
}
很抱歉,如果這個問題已經回答了,但我發現很多解決方案,並嘗試過,但沒有人幫助我。
THX
pwittke
編輯: 我創建了一個新的Testproject和下面的代碼工作得很好,所以我就開始停用使用可繪製在某種程度上每一個部分和原來,該SimpleAdapter着加載圖像的方式......它只能從resurces中加載圖像,而不是從url中加載圖像... thx爲您的腳本britzl,它工作正常,現在我需要找到一種方法來更改適配器的圖像...
感謝您的回答我會嘗試tmr當我回到辦公室! :) – pwittke
我試過你的功能,但即時通訊結束在相同的錯誤信息: BitmapFactory |無法解碼流:java.io.FileNotFoundException:/[email protected]:打開失敗ENOENT(沒有這樣的文件或目錄) System.out | resolveUri不合格uri:android:[email protected] – pwittke
它從我們自己的服務器的所有.jpg圖像和URL是乾淨的:/ 據我所知,它似乎像位圖丟失之前,我把它轉換成可繪製的? – pwittke