使用SQLite存储以及读取Drawable对象
发布时间:2020-12-12 19:28:17 所属栏目:百科 来源:网络整理
导读:在进行Android开发过程中,我们经常会接触到Drawable对象 ,那么,若要使用数据库来进行存储及读取,该如何实现? 一、存储 //第一步,将Drawable对象转化为Bitmap对象Bitmap bmp = (((BitmapDrawable)tmp.image).getBitmap());//第二步,声明并创建一个输出
在进行Android开发过程中,我们经常会接触到Drawable对象,那么,若要使用数据库来进行存储及读取,该如何实现? 一、存储
代码看起来比较繁琐,是因为过程的确挺繁琐的,不过可以简单的总结为:
Drawable→Bitmap→ByteArrayOutputStream→SQLite
//第一步,从数据库中读取出相应数据,并保存在字节数组中 byte[] blob = cursor.getBlob(cursor.getColumnIndex("image")); //第二步,调用BitmapFactory的解码方法decodeByteArray把字节数组转换为Bitmap对象 Bitmap bmp = BitmapFactory.decodeByteArray(blob,blob.length); //第三步,调用BitmapDrawable构造函数生成一个BitmapDrawable对象,该对象继承Drawable对象,所以在需要处直接使用该对象即可 BitmapDrawable bd = new BitmapDrawable(bmp); 由于BitmapDrawable是Drawable的子类,所以直接使用就行了。 很显然,读取是存储的相反过程,代码思路也差不多,但实现起来简单很多,总结思路为: SQLite→byte[]→Bitmap→BitmapDrawable (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |