Подтвердить что ты не робот

Байт [] для изображения Android

Моя проблема такова: Я сохранил несколько снимков в базе данных sqlite, используя формат blob, который, похоже, работает нормально. теперь я хочу вытащить свои фотографии из БД и поместить затем обратно в изображения..., чтобы усложнить вопрос, их формат является переменным (png, jpg, может быть, что-то еще, im not sure) Есть ли способ сделать это в android?

Благодарю вас

4b9b3361

Ответ 1

Используйте метод BitmapFactory.decodeByteArray():

byte[] blob=c.getBlob("yourcolumnname");
Bitmap bmp=BitmapFactory.decodeByteArray(blob,0,blob.length);
ImageView image=new ImageView(this);
image.setImageBitmap(bmp);

Посмотрите этот поток.

Ответ 3

Я предпочитаю напрямую преобразовывать массив байтов в Drawable. Это лучший формат для Android. Растровые изображения генерировали утечки в прошлом.

Drawable d = Drawable.createFromStream(new ByteArrayInputStream(ARRAY_BYTES), null);