从sqlite数据库加载时,图像不会显示

时间:2015-04-07 22:35:01

标签: android sqlite bytearray android-imageview sugarorm

在android中我试图用糖ORM将图像保存到本地sqlite数据库,然后将其加载到其他地方。但图像不会显示,我会继续:

image header:[5b 42 40 32 30 36 39 38], stream len = 12, read byte count = 8, valid byte count = 8, [[B@20698]

--- SkImageDecoder::Factory returned null

保存图片:

          byte[] image = Utilities.getBytes(pImage);
            Log.e("TAG", String.valueOf(image));
            Product product = new Product(pName, pBrand, pExpireDate, image);
            product.save();

加载:

        Log.e("TAG", String.valueOf(product1.image));
        Bitmap image = Utilities.getImage(product1.image);
        pImage.setImageBitmap(image);

公用事业类:

public class Utilities {
    public static byte[] getBytes(Bitmap bitmap)
    {
        ByteArrayOutputStream stream=new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.PNG,100, stream);
        return stream.toByteArray();
    }
    public static Bitmap getImage(byte[] image)
    {
        return BitmapFactory.decodeByteArray(image, 0, image.length);
    }

}

1 个答案:

答案 0 :(得分:0)

当您向gradle添加依赖项时,Sugar ORM中存在一个错误,它需要最新版本而非最新提交。当我把最新的Surgar ORM提交作为一个图书馆项目时,它已被修复。