我正在尝试将在 SQLite 数据库中存储为 BLOB 数据的图像放入用于列表活动的行中的 Imageview 中。
这是我用来提取常规文本数据的两种方法的代码:
private void fillData() {
// TODO Auto-generated method stub
String[] from = new String[] { BorrowMeTable.COLUMN_NAME, BorrowMeTable.COLUMN_DATE };
int[] to = new int[] { R.id.people_list_name, R.id.people_list_borrowed };
getLoaderManager().initLoader(0, null, this);
adapter = new SimpleCursorAdapter(this, R.layout.people_row, null, from,
to, 0);
setListAdapter(adapter);
}
// -----------------------------------------------------------
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
BorrowMeContentProvider.distinctSwitch = true;
String[] projection = { BorrowMeTable.COLUMN_ID, BorrowMeTable.COLUMN_NAME, BorrowMeTable.COLUMN_DATE };
CursorLoader cursorLoader = new CursorLoader(this,
BorrowMeContentProvider.CONTENT_URI, projection, null, null, null);
return cursorLoader;
}
我有另一列 BorrowMeTable.COLUMN_IMAGE 我想加载到我的 imageView (R.id.pic_of_image) 中。我无法将其添加到我的投影中,因为它无法转换为字符串。要使用单个光标拉它,我将使用以下代码:
byte[] imageByteArray = databaseCursor.getBlob(databaseCursor
.getColumnIndex(BorrowMeTable.COLUMN_IMAGE));
ByteArrayInputStream imageStream = new ByteArrayInputStream(
imageByteArray);
bmp = BitmapFactory.decodeStream(imageStream);
window.setImageBitmap(bmp);
正如我在程序的另一部分所做的那样。谁能帮助我如何完成这项工作?
谢谢!