使用android中的游标从sqlite数据库显示图像

Hir*_*bhi 14 sqlite android image

我想使用游标从sqlite数据库中显示imageview中的图像.我使用下面的代码来检索图像,但我无法在imageview中显示图像.

Cursor c=this.db.query(TABLE_NAME, new String[] { "name","price","image" },
                null, null, null, null, null);
name.setText(c.getString(0));
price.setText(c.getString(1));
byte b[]=c.getBlob(2);
Bitmap bp=BitmapFactory.decodeByteArray(b, 0, b.length);
ImageView image=(ImageView)findViewById(R.id.ImageView);
//ByteArrayInputStream imageStream = new ByteArrayInputStream(b);               
//Bitmap theImage = BitmapFactory.decodeStream(imageStream);
//image.setImageBitmap(theImage);               
image.setImageBitmap(bp); 
Run Code Online (Sandbox Code Playgroud)

除图像外,将显示名称和价格,但不显示图像.任何可以帮助我解决这个问题的建议或代码.

请帮我.

提前致谢..

小智 18

我试过使用Stream而不是字节数组,我的例子对我来说很有用.也尝试使用Cursor.getColumnIndex()

    byte[] blob = c.getBlob(c.getColumnIndex(YourDB.IMAGE));
    ByteArrayInputStream inputStream = new ByteArrayInputStream(blob);
    Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
Run Code Online (Sandbox Code Playgroud)

这是我的"创建表"声明,请仔细检查你的

    create table datatable(_id INTEGER PRIMARY KEY AUTOINCREMENT, image BLOB, price INTEGER);
Run Code Online (Sandbox Code Playgroud)