作者:wendy-kiki8 | 来源:互联网 | 2023-05-17 16:54
代码如下:SQLiteDatabasedbhelper.getWritableDatabase();Cursorcursordb.rawQuery(select*from
代码如下:
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.rawQuery("select *from " + Constant.Table_Name
+ "", null);
while (cursor.moveToNext()) {
byte[]imgData = null;
imgData = cursor.getBlob(cursor
.getColumnIndex(Constant.Pic));
Bitmap imagebitmap = BitmapFactory.decodeByteArray(imgData, 0,
imgData.length);
img.setImageBitmap(imagebitmap);
}
然后img从原来的图片变成什么都没有了
有没有知道的指导一下
4 个解决方案
用LogCat看了一下啊 存进去和读出来的不一样 但是我的图片只有一张
SQLite是一种轻量型数据库,建议不要直接在数据库中存放图片,当需要加载出的图片过多时极有可能产生OOM问题导致应用抛异常,考虑可以存放图片的绝对路径,只要确保存入数据库的路径正确就不会出现存读不一致,另外考虑到OOM问题和图片加载与渲染的优化问题,可以考虑使用图片加载框架Picasso,它在框架内部解决了图片加载过程中可能产生的的一系列棘手问题,并且使用起来非常方便
Picasso可以直接在AndroidStudio中配置远程添加依赖,楼主如果采用了存路径的方法的话,从数据库中取出路径后使用Picasso的方法一行代码就可以搞定图片显示问题