Oi Marcos, tudo bem ?
Trabalhar com base64 é um jeito bem ok, pois tu consegue trafegar os dados como string, pensando que o servidor será seu e afins.
Para trabalhar com base 64, tu pode fazer algo similar a isso aqui:
fun Bitmap.decodificaParaBase64(): String {
val byteArrayOutputStream = ByteArrayOutputStream()
this.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream)
val byteArray = byteArrayOutputStream.toByteArray()
return Base64.encodeToString(byteArray, Base64.DEFAULT)
}
Você vai precisar ter a imagem já tirada e convertida em bitmap.
Quando for carregar do backend o código é similar:
val decode: ByteArray = Base64.decode(foto, Base64.DEFAULT)
val bitmap = BitmapFactory.decodeByteArray(decode, 0, decode.size)
E ai basta tu usar em seu image view