मेरे पास SQL ​​तालिका में varbinary के रूप में संग्रहीत छवियां हैं, एंड्रॉइड क्लाइंट में छवियों को कैसे प्रदर्शित कर सकते हैं?

this is how image look like in the table

-1
johnzilla 27 मार्च 2020, 17:28
Image फ़ील्ड में संग्रहीत डेटा का प्रारूप क्या है? कृपया टेक्स्ट के रूप में पूर्ण नमूना प्रदान करें
 – 
Forntoh
28 मार्च 2020, 13:06

1 उत्तर

सबसे बढ़िया उत्तर

आपको क्या करना है

  • Image स्ट्रिंग को DB से ByteArray में बदलें
  • ByteArray से Bitmap में बदलने के लिए Android में BitmapFactory का उपयोग करें
  • अपने इमेजव्यू का बिटमैप सेट करें
    • val imageText = "FFDD8FFE000104A4694600010101000000000000FFEE1138..."
    • myImageView.setImageBitmap(getBitmap(imageText))

आप निम्न फ़ंक्शन का उपयोग कर सकते हैं [कोटलिन]

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)
}
0
Forntoh 28 मार्च 2020, 13:07
मुझे त्रुटि मिलती है Caused by: java.lang.IllegalArgumentException: bad base-64
 – 
johnzilla
28 मार्च 2020, 00:23
सुनिश्चित करें कि आप 0xFF.. के बजाय FF... का उपयोग करते हैं, यदि आपके स्ट्रिंग्स में हेडर है तो कृपया इसे हटा दें
 – 
Forntoh
28 मार्च 2020, 13:26