отображать изображения в android, сохраненные как varbinary в sql - PullRequest
0 голосов
/ 27 марта 2020

у меня есть изображения, сохраненные как varbinary в таблице SQL, как можно отобразить изображения в android клиенте

this is how image look like in the table

1 Ответ

0 голосов
/ 27 марта 2020

Что вам нужно сделать, это

  • Преобразовать строку Image из БД в ByteArray
  • Используйте BitmapFactory в android для преобразования из ByteArray до Bitmap
  • Установите растровое изображение вашего изображения
    • val imageText = "FFDD8FFE000104A4694600010101000000000000FFEE1138..."
    • myImageView.setImageBitmap(getBitmap(imageText))

Вы можете использовать следующую функцию [kotlin]

import android.graphics.Bitmap
import android.graphics.BitmapFactory
import com.google.android.gms.common.util.Hex

/**
 * Converts a hex string to Bitmap
 *
 * @param image  hex string e.g. "FFD8FFE0..."
 * @return Bitmap
 */
fun getBitmap(image: String): Bitmap {
    // Convert String to ByteArray
    val byteArray = Hex.stringToBytes(image)
    // Convert ByteArray Bitmap
    return BitmapFactory.decodeByteArray(byteArray, 0, byteArray.size)
}
...