rt,转换的函数如下:
public byte[] getBitmapByte(Bitmap bitmap){
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);        return out.toByteArray();
    }
然后输出的二进制文件用binary not null形式存入数据库,
后来经过debug看到输入的byteArray和从数据库读出的byteArray不一样,这是什么情况????

解决方案 »

  1.   

    问题补充:我得转换出来的byteArray大小是4000多,数据库里得到的Array大小只有10+,而且并不是转换出来的Array的前几个数据
      

  2.   

    不能这样存,而且android的数据库本来就很小,不支持图片存储啊
      

  3.   

    ls 我看别人的例子里面是这样存的吗,而且能够正常获取图片啊。sqlite怎么会不支持图片存储。。sqlite不是支持所有二进制文件的存储吗-,=而且并没有限制大小啊-,=
      

  4.   

    用blob是可以这样存储二进制的,楼主的存储大小变化,是因为你转化为字节数组时,那句compress方法会压缩的,给你个链接,你观察下吧,以前有人问过的Android Bitmap转字节数组后大小问题
      

  5.   

    ls的灰常感谢,我知道压缩过之后会变换,问题是我所说的大小差异不是存在于压缩前后,而是说在存入数据库前后,两组数据完全不同,还有,你给出的那个链接里的第一个方法好像是从字节流转换为图像的函数吧,并没有out的效果吧-,=
      

  6.   

    用base64转码存字符串试试,取出来后再解码
      

  7.   

    有没有一种无损 保存图片到本地滴方法呢。就保存bmp格式的  找了好就都没找到。 求解
      

  8.   

    最后放弃这个做法了问题直到是什么了,应该是编码问题,存进去的时候自动转成UTF-8编码,然后转不回来了,别的编码都失败了,最后还是用fileStream弄成文件然后映射数据库了