2011-03-28 49 views
0

我正在從url下載圖像並將它們存儲在SQLite數據庫表中。這些圖像是用戶的個人資料圖片。我將配置文件圖像和用戶信息存儲在一行中。每個用戶一行。爲什麼從url加載數據時一些圖像顯示爲黑色?

這大部分工作。幾乎所有圖像都可以正常加載到我的列表中。但是,我有大約300個用戶使用黑色圖像顯示2-4個用戶。我通過我的網絡瀏覽器下載圖像,證實黑色圖像的用戶在網址上有有效的圖像。

有人知道爲什麼這幾個用戶顯示黑色圖像?我沒有看到任何例外。

這裏是我的代碼:

ByteArrayBuffer baf = new ByteArrayBuffer(50); 
URL url = new URL(imageURL); 
URLConnection ucon = url.openConnection(); 

InputStream is = ucon.getInputStream(); 
BufferedInputStream bis = new BufferedInputStream(is); 

int current = 0; 
while ((current = bis.read()) != -1) { 
baf.append((byte) current); 
} 

...

// Then the byte[] is stored in a SQLite blob field. 
baf.toByteArray() 

...

// Then I load the blob field like this into my view. 
byte[] bytes = cursor.getBlob(cursor.getColumnIndex(DbHelper.PROFILE_IMAGE_COLUMN)); 
if (bytes != null) { 
ImageView iv = (ImageView) v.findViewById(R.id.profile_icon); 
iv.setImageBitmap(BitmapFactory.decodeByteArray(bytes, 0, bytes.length)); 
} 

回答

0

我認爲我的問題是由於Android的錯誤。在Windows上相同的圖像顯示很好。我相信我發現其他人在Android上間歇性地遇到同樣的問題。

0

有一個黑色圖像,通常混合了阿爾法問題的症狀/半透明圖像。我會手動下載這些圖像之一,並用一些圖像編輯應用程序來檢查它,以確定圖像的確切格式。

相關問題