Байт [] для изображения Android
Моя проблема такова:
Я сохранил несколько снимков в базе данных sqlite, используя формат blob, который, похоже, работает нормально. теперь я хочу вытащить свои фотографии из БД и поместить затем обратно в изображения..., чтобы усложнить вопрос, их формат является переменным (png, jpg, может быть, что-то еще, im not sure)
Есть ли способ сделать это в android?
Благодарю вас
Ответы
Ответ 1
Используйте метод BitmapFactory.decodeByteArray():
byte[] blob=c.getBlob("yourcolumnname");
Bitmap bmp=BitmapFactory.decodeByteArray(blob,0,blob.length);
ImageView image=new ImageView(this);
image.setImageBitmap(bmp);
Посмотрите этот поток.
Ответ 2
Используйте BitmapFactory.decodeByteArray().
Ответ 3
Я предпочитаю напрямую преобразовывать массив байтов в Drawable. Это лучший формат для Android. Растровые изображения генерировали утечки в прошлом.
Drawable d = Drawable.createFromStream(new ByteArrayInputStream(ARRAY_BYTES), null);