我想顯示存儲在我的數據庫中的圖像顯示的圖像,但是我的程序拋出異常(CursorIndexOutOfBoundsException:指數-1要求,大小爲100)。 我使用this,並在本教程中我已成功地插入圖像到數據庫中,但他們retreiving的問題。 試圖從谷歌和StackOverflow找到答案,我也遇到了以下問題。 Qustion1 Qustion2。但是這些問題並不能幫助我的case.Any幫助,將不勝感激。如何從數據庫
以下是我的代碼。
db = helper.getWritableDatabase();
//select the data
//while(cursor.moveToFirst());
cursor = db.query(DBHelper.TABLE, new String[] {DBHelper.C_PHOTOS },
null, null, null, null, null);
//get it as a ByteArray
byte[] imageByteArray=cursor.getBlob(1);
//the cursor is not needed anymore
cursor.close();
//convert it back to an image
ByteArrayInputStream imageStream = new ByteArrayInputStream(imageByteArray);
Bitmap theImage = BitmapFactory.decodeStream(imageStream);
這裏是一個插入圖像
URL url = new URL("myurl");
URLConnection ucon = url.openConnection();
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is,128);
ByteArrayBuffer baf = new ByteArrayBuffer(128);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
ContentValues v = new ContentValues();
v.put(DBHelper.C_PHOTOS,baf.toByteArray());
v.put(DBHelper.C_PHOTOS, photoThumbnailUrl);
db.insert(DBHelper.TABLE, null, v);
在此先感謝
這可能是更好的尋找到存儲只是在數據庫中的圖像路徑。然後將圖像存儲在圖像文件夾中。 – NeverPhased 2012-02-06 22:46:08
嗨,這些圖像來自網絡,而不是在任何文件夾。 – SomCollection 2012-02-06 23:15:09