4.22

这是一个写好的调用语句和方法,insertdb()是写好的方法,可以稍加修改后放入你的Activity页面或fragment页面,调用语句如图。

//你的图片在andriod studio中是存在R.drawble中的,并且是int型的
//存入数据库的id是自己定义数据库时设计好的,可以参考我的数据库代码

insertdb( R.drawable.你的图片名,存入数据库的id);

//s指你的图片资源,int型,即R.drawable.你的图片名
private void insertdb(int s,int id){

//把你的图片资源转化成位图
Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), s);

//Mysql是自己写的数据库类,需要自己编写,下面两句话是实例化一个sqlite数据库对象
Mysql mySqlLite = new Mysql(this);
SQLiteDatabase database = mySqlLite.getReadableDatabase();

//设置一个size大小,用来压缩图片文件
int size = bitmap.getWidth() * bitmap.getHeight() * 4;

//ByteArrayOutputStream(字节数组输出流)对byte类型数据进行写入的类,属于内存操作流
ByteArrayOutputStream baos= new ByteArrayOutputStream(size);

//压缩位图bitmap
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);

//定义一个byte类型的数组bytedata存储位图字节流转化成的byte数组
byte[] bytedata = baos.toByteArray();

//sql语句是根据自己需求写的,不要照抄
database.execSQL("update 你的表名 set image=? where _id=?",new Object[] {bytedata,id});
}

 
posted @   SDGVSBGDRH  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示