我正在從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));
}