这是一个写好的调用语句和方法,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}); }