Как получить изображения, хранящиеся в моей базе данных, как реальные изображения, я использовал два разных метода для получения изображений из базы данных, но ни один из них не работает для меня.
У меня есть этот класс, который я пытаюсьполучить изображения из базы данных в виде списка.
Во время компиляции проекта я получаю следующее:
resolUri не удалось на неверном растровом изображении uri
Это один из моих классов:
public class ListProp extends ListActivity {
private static final String TAG = ListProp.class.getSimpleName();
private static final String TAG_PHOTOS = "photoThumbnailUrl";
private SQLiteDatabase database;
private CursorAdapter dataSource;
Cursor cursor;
private static final String fields[] = { "photoThumbnailUrl",
BaseColumns._ID };
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DBHelper helper = new DBHelper(this);
database = helper.getReadableDatabase();
database = helper.getWritableDatabase();
Cursor data = database.query(DBHelper.TABLE, fields, null, null, null,
null, null);
dataSource = new SimpleCursorAdapter(this, R.layout.image, data,
fields, new int[] { R.id.image1 });
setListAdapter(dataSource);
System.out.println(dataSource);
database.close();
// selecting single ListView item
final ListView lv = getListView();
// Launching new screen on Selecting Single ListItem
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
System.out.println("I'm fine here");
ImageView image = (ImageView) findViewById(R.id.image1);
// get it as a ByteArray
while (cursor.moveToFirst())
;
byte[] imageByteArray = cursor.getBlob(cursor
.getColumnIndex(DBHelper.C_PHOTOS));
// convert it back to an image
ByteArrayInputStream imageStream = new
ByteArrayInputStream(imageByteArray);
Bitmap bitmap = BitmapFactory.decodeStream(imageStream);
Drawable d = new BitmapDrawable(bitmap);
image.setImageResource(R.drawable.ic_launcher);
cursor.close();
lv.addView(image);
}
});
}
}