В андроиде im, который пытается сохранить изображение в локальном хранилище данных sqlite с помощью САМ ORM, а затем загрузить его в другое место. но изображение не будет отображаться, и я получаю:Изображение не будет отображаться при загрузке из базы данных sqlite.
image header:[5b 42 40 32 30 36 39 38], stream len = 12, read byte count = 8, valid byte count = 8, [[[email protected]]
--- 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);
}
}
Попробуйте 'Utilities.getImage (Utilities.getBytes (img))' и посмотреть, хорошо ли работает – Turtle
. Getbytes требуется à bitmap not a byte array – user2463163
Я имею в виду, что эта строка используется и показывает, является ли выход нормальным растровым изображением. – Turtle