Я спрашивал об этом раньше, но, возможно, слишком бессмысленно.
У меня есть база данных SQLite, где строка base64 хранится в столбце BLOB.Мне нужно получить это и показать изображение.
Вот как я пытаюсь получить его:
String[] blob = new String[4];
startManagingCursor(c);
if (c.moveToFirst()){
int i = 0;
do {blob[i] = c.getString(1);
i++;}
while (c.moveToNext());
c.close();
String bild = blob[0];
byte[] decodedString = Base64.decode(bild, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
mImage.setImageBitmap(decodedByte);
Я также пробовал:
byte[] blob = new byte[4];
startManagingCursor(c);
if (c.moveToFirst()){
int i = 0;
do {
blob = c.getBlob(1);
i++;}
while (c.moveToNext());
c.close();
String bild = blob.toString();
byte[] decodedString = Base64.decode(bild, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
mImage.setImageBitmap(decodedByte);
Я также пытался запустить одну из base64Строки в одном из этих сайтов декодера, и оттуда я вижу, что это png-файл.
Тем не менее, в проекте Android я получаю только NULL результаты.Что мне не хватает?У меня были некоторые недавние проблемы с неверным истолкованием utf-8 как макромана.Может ли быть неверной интерпретация моей строки кода base64?
Большое спасибо, если кто-то может указать мне правильное направление!