android sqlite 图片保存和读出 用流 转字节码
原文:http://blog.sina.com.cn/s/blog_8cfbb99201012oqn.html
package com.yiyiweixiao;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
// 重写构造方法
public MySQLiteOpenHelper(Context context, String name,
CursorFactory cursor, int version) {
super(context, name, cursor, version);
}
// 创建数据库的方法
public void onCreate(SQLiteDatabase db) {
// 创建一个数据库,表名:imagetable,字段:_id、image。
db.execSQL("CREATE TABLE imagetable (_id INTEGER PRIMARY KEY AUTOINCREMENT,image BLOB)");
}
// 更新数据库的方法
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
// 创建助手类的实例
// CursorFactory的值为null,表示采用默认的工厂类
mySQLiteOpenHelper = new MySQLiteOpenHelper(this, "saveimage.db", null,1);
// 创建一个可读写的数据库
mydb = mySQLiteOpenHelper.getWritableDatabase();
//将图片转化为位图
Bitmap bitmap1=BitmapFactory.decodeResource(getResources(), R.drawable.erweima);
int size=bitmap1.getWidth()*bitmap1.getHeight()*4;
//创建一个字节数组输出流,流的大小为size
ByteArrayOutputStream baos=new ByteArrayOutputStream(size);
//设置位图的压缩格式,质量为100%,并放入字节数组输出流中 bitmap1.compress(Bitmap.CompressFormat.PNG, 100, baos);
//将字节数组输出流转化为字节数组byte[]
byte[] imagedata1=baos.toByteArray();
//将字节数组保存到数据库中
ContentValues cv=new ContentValues();
cv.put("_id", 1);
cv.put("image", imagedata1);
mydb.insert("imagetable", null, cv);
//关闭字节数组输出流
baos.close();
从数据库中查询的方法:
//创建一个指针
Cursor cur=mydb.query("imagetable", new String[]{"_id","image"}, null, null, null, null, null);
byte[] imagequery=null;
if(cur.moveToNext()){
//将Blob数据转化为字节数组imagequery=cur.getBlob(cur.getColumnIndex("image"));
}
//将字节数组转化为位图
Bitmap imagebitmap=BitmapFactory.decodeByteArray(imagequery, 0, imagequery.length);
iv1=(ImageView) findViewById(R.id.imageView1);
//将位图显示为图片
iv1.setImageBitmap(imagebitmap);
android sqlite 图片保存和读出 用流 转字节码的更多相关文章
- Android将图片保存到相册并及时看到
Android中将图片保存到SD卡中,相册里不会及时出现这张图片,因为没有及时更新其索引,一般需要开机几次.当然我们可以手动更新其索引. 1,首先将文件保存到SD卡中. String filePath ...
- Android View转为图片保存为本地文件,异步监听回调操作结果;
把手机上的一个View或ViewGroup转为Bitmap,再把Bitmap保存为.png格式的图片: 由于View转Bitmap.和Bitmap转图片都是耗时操作,(生成一个1M的图片大约500ms ...
- React Native之图片保存到本地相册(ios android)
React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...
- Android 将拼接好并加上边框的图片保存到内存卡中
通过前两篇文章,问们学会了怎样拼接图片.给拼接好的图片加上边框样式,但这还不够,忙活了大半天 终于拼接好并给图片美化了,但是程序一旦推出,之前做的工作都白费了.这时我们会想,能不能把拼接好的图片保存起 ...
- [RN] React Native 图片保存到相册(支持 Android 和 ios)
React Native 图片保存到相册(支持 Android 和 ios) 原理: IOS用 RN自带的 CameraRoll, Android 使用 不成功,需要 react-native-fs ...
- Android View转换成图片保存
package zhangphil.viewtoimage; import java.io.File;import java.io.FileOutputStream; import android.o ...
- android截屏:保存一个view的内容为图片并存放到SD卡
项目中偶尔会用到截屏分享,于是就有了下面这个截屏的方法~ 下面得saveImage()方法就是保存当前Activity对应的屏幕所有内容的截屏保存. private void saveImage() ...
- android把图片 视频 保存到相册
//android把图片文件添加到相册 ContentResolver localContentResolver = getContentResolver(); ContentValues local ...
- android将应用中图片保存到系统相册并显示
我应用到的场景是程序中在视频通讯时截图,将截图保存到本地相册中 /*** @param bmp 获取的bitmap数据 * @param picName 自定义的图片名*/ public static ...
随机推荐
- Django框架之模板路径及静态文件路径配置
内容: (1)模板文件路径的配置 (2)静态文件路径的配置 一.模板文件路径的配置 模板文件主要通过jinja2模板进行渲染html页面,实现动态页面. 步骤一:创建一个template的文件夹,用于 ...
- 局域网内Linux下开启ftp服务的“曲折路”和命令复习
今天主要学习了Linux下网络配置以及vsftp(FTP)和samba的服务配置,学习起来,难度也就一般,并没有特别难,可是在可以做实验的时候,却并没有自己想像的那么顺利,可见,很多事情看起来不难,做 ...
- windows 配置hadoop环境
在idea运行spark程序的时候报错:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Ha ...
- CPI 3.0磁盘空间不足!
当使用Cisco PI的时候,有的时候可能出现diskspace不够的情况,这种情况可能是前期部署PI的时候,提供的空间太小了,或者目前缓存的数据太多了. 如下是一个例子: 在CLI中检查时,PI数据 ...
- Nexus-产品认识
传统的思科数据中心网络架构也包括如下层级结构: • 核心层(一般是Nexus 7K来充当) • 汇聚层(一般也是Nexus 7K充当,可能存在2台,或4台的设备) • 接入层(一般会 ...
- MQTT.js browser node 均支持
npm - mqtt 官网手册 https://www.npmjs.com/package/mqtt#weapp 简书用户 使用笔记 https://www.jianshu.com/p/4fd95ca ...
- 【Hibernate HQL】
HibernateHQL public class HibernateHQL { //演示聚集函数使用 @Test public void testSelect7() { SessionFactory ...
- codeforces- Shortest path of the king
The king is left alone on the chessboard. In spite of this loneliness, he doesn't lose heart, becaus ...
- 各大厂商发力5G新机,未来全球手机市场或将呈现新格局
随着5G商用将正式于今年开启落地,运营商和手机厂商都在为新一代网络制式积极做好准备.对于运营商来说,它们在不断增加5G基站的建设,让5G信号覆盖更广泛的范围.而对于手机厂商来说,它们在努力推出旗下的5 ...
- Nginx 反向代理报400错误解决方法!
如果后端真是的服务器设置有类似防盗链或者根据http请求头中的host字段来进行路由或判断功能的话,如果反向代理层的nginx不重写请求头中的host字段,将会导致请求失败,报400错误,解决办法: ...