如何将存储在数据库中的图像作为字符串显示到真实图像?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将存储在数据库中的图像作为字符串显示到真实图像?相关的知识,希望对你有一定的参考价值。
如何检索存储在我的数据库中的图像作为真实图像,我已经使用两种不同的方法从数据库中获取图像,但没有一个适合我。
我有这个类,我正试图从listview中检索数据库中的图像。
在编译项目时,我收到以下内容:
resolveUri在坏位图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);
}
});
}
}
答案
请尝试以下教程:http://www.tutorialforandroid.com/2009/10/how-to-insert-image-data-to-sqlite.html
您将不得不使用BitmapFactory函数decodeByArray:
.setImageBitmap(BitmapFactory.decodeByteArray
希望这可以帮助
以上是关于如何将存储在数据库中的图像作为字符串显示到真实图像?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Firebase 数据库中存储的 url 作为 UIImageView 中的图像
如何调整我的模型以将上传的图像存储到我的数据库作为图像的链接而不是显示为 blob?