设置数据库public class DatabaseHelper extends SQLiteOpenHelper {

// Database Version

private static final int DATABASE_VERSION = 1;

// Database Name

private static final String DATABASE_NAME = "database_name";

// Table Names

private static final String DB_TABLE = "table_image";

// column names

private static final String KEY_NAME = "image_name";

private static final String KEY_IMAGE = "image_data";

// Table create statement

private static final String CREATE_TABLE_IMAGE = "CREATE TABLE " + DB_TABLE + "("+

KEY_NAME + " TEXT," +

KEY_IMAGE + " BLOB);";

public DatabaseHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

@Override    public void onCreate(SQLiteDatabase db) {

// creating table

db.execSQL(CREATE_TABLE_IMAGE);

}

@Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// on upgrade drop older tables

db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);

// create new table

onCreate(db);

}}

在数据库中插入:public void addEntry( String name, byte[] image) throws SQLiteException{

SQLiteDatabase database = this.getWritableDatabase();

ContentValues cv = new  ContentValues();

cv.put(KEY_NAME,    name);

cv.put(KEY_IMAGE,   image);

database.insert( DB_TABLE, null, cv );}

检索数据:byte[] image = cursor.getBlob(1);

注意:在插入数据库之前,需要先将Bitmap图像转换为字节数组,然后使用数据库查询应用它。

从数据库中检索时,您肯定有一个图像字节数组,您需要做的是将字节数组转换回原始图像。因此,您必须使用BitmapFactory进行解码。

下面是一个实用工具类,我希望可以帮助你:public class DbBitmapUtility {

// convert from bitmap to byte array    public static byte[] getBytes(Bitmap bitmap) {

ByteArrayOutputStream stream = new ByteArrayOutputStream();

bitmap.compress(CompressFormat.PNG, 0, stream);

return stream.toByteArray();

}

// convert from byte array to bitmap    public static Bitmap getImage(byte[] image) {

return BitmapFactory.decodeByteArray(image, 0, image.length);

}}

进一步阅读

如果您不熟悉如何插入和检索数据库,请完成本教程。

android 图片存储读取数据库中,如何在android中存储(位图图像​​)并从sqlite数据库中检索图像?...相关推荐

  1. android开发使用c+_如何在Android项目中开始使用C ++代码

    android开发使用c+ by Onur Tuna 通过Onur Tuna 如何在Android项目中开始使用C ++代码 (How to start using C++ code in your ...

  2. android 文本后图标_如何在Android中更改文本,图标等的大小

    android 文本后图标 Let's face it: no matter how good the screens are on our phones and tablets, the text ...

  3. android中访问手机存储空间,android – 访问手机内部存储以推入SQLite数据库文件...

    我正在使用Netbeans和java开发我的android应用程序.当我使用模拟器时,我可以通过访问以下路径,data / data / com.example.helloandroid / data ...

  4. android studio点击图片,如何在Android Studio中的模拟器图库中添加图像?

    如何在Android Studio中的模拟器图库中添加图像? 我正在开发图像过滤器应用程序. 但是,如果我没有任何图像,就无法真正尝试. 我知道我可以在电话中对其进行测试,但这并不相同,因为我需要错误 ...

  5. android 调出键盘表情_如何在Android的G板键盘中搜索表情符号和GIF | MOS86

    老实说,这里是1010mh1112 GIF和表情符号是新形式的沟通.像他们似乎愚蠢的,他们以某种方式添加了一个额外的层次,我们与朋友和家人通过文本或即时消息交互的方式,否则可能会干燥.虽然表情符号长期 ...

  6. android开发 转跳功能,如何在Android中利用Intent实现一个页面跳转功能

    如何在Android中利用Intent实现一个页面跳转功能 发布时间:2021-02-20 17:06:31 来源:亿速云 阅读:113 作者:Leah 本篇文章为大家展示了如何在Android中利用 ...

  7. android 工具栏沉浸 下拉,如何在Android应用中实现一个沉浸式状态栏效果

    如何在Android应用中实现一个沉浸式状态栏效果 发布时间:2020-12-08 17:04:42 来源:亿速云 阅读:151 作者:Leah 这篇文章将为大家详细讲解有关如何在Android应用中 ...

  8. android 如何读取cgi_Python基础教程(十):CGI编程、MySQL数据库

    Python CGI编程 什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如: ...

  9. android.mk if else,gradle - 如何在Android Studio中使用我自己的Android.mk文件 - SO中文参考 - www.soinside.com...

    [我正在Android.mk文件中定义一些变量(我正在为编译器传递一些标志),但是每次构建项目时,Android.mk都会被覆盖.我假设Gradle是负责任的,我应该去那里看看吗? 如何使用我自己的A ...

  10. android studio 读取内存txt文件_SharedPreference与文件存储

    Android常用数据存储方式有SharedPreferences存储数据(虽然还是属于内部存储).文件存储(内部,外部).SQLite数据库存储.ContentProvider存储数据.网络存储数据 ...

最新文章

  1. PEP8 Python
  2. cython安装、使用
  3. PHP读取EXCEL
  4. springboot+多线程简单实现
  5. mysql忽略列,MySQL:使用DISTINCT时忽略选定的列
  6. 网易云信独家技术支持,壹点灵领跑心理服务行业
  7. 如何使用 sklearn 优雅地进行数据挖掘?
  8. 以前的项目今日打开突然报错了!
  9. MybatisPlus实现逻辑删除
  10. 通信模式与网络协议之间的对应关系
  11. python爬取小游戏_如何用Python爬取小游戏网站,把喜欢的游戏收藏起来(附源码)...
  12. Mapgis图转换为可导入软件的shp
  13. Leetcode每日一题:659.split-array-into-consecutive-subsequences(分割数组为连续子序列)
  14. 【剑指offer】面试题五:从尾到头打印链表
  15. 导入项目运行报错:Error starting ApplicationContext. To display the conditions report re-run your application
  16. 台式计算机锁屏快捷键,台式机锁屏快捷键是什么
  17. web结课作业的源码 HTML5+CSS大作业——个人博客-功能齐全(48页) html大学生网站开发实践作业
  18. CSS3(新增样式)
  19. Android 5.0、6.0、7.0、8.0、9.0 新特性,DownloadManager踩坑记
  20. 解决M1处理器款mac安装DW闪退问题 Dreamweaver 2021 Mac(已适配M1芯片,支持最新款M1芯片Mac)

热门文章

  1. 电影天堂电影链接爬取
  2. java基础数据类型包装类
  3. web自动化测试 Selenium2 Java自动化测试实战9_3
  4. 微信 input 照相机 呼出
  5. 看懂别人的代码,和自己能写代码是两回事
  6. cxGrid 怎样才能让不自动换行 WordWrap:=false
  7. Unable to find the requested .Net Framework Data Provider
  8. LeetCode-336 Palindrome Pairs
  9. Android ViewPager + Fragment实现滑动页面
  10. 25个深度学习开源数据集