Я создаю файлы vCard из своего приложения для Android. Я храню данные вручную (без использования каких-либо libray) Я могу написать данные, прочитать и проанализировать их в своем приложении. Но когда я сохраняю изображение. У меня есть два вопроса.Сохранение изображения в VCard и чтение с него в коде Android вручную
1) Я не могу сохранить изображение, снятое с помощью камеры .., которая выдает исключение из памяти, в то время как запись основной кодированной строки в vcard.
2) Я могу сохранить базовую 64 кодированную строку некоторого изображения, которое я взял в галерее, но при чтении ее не получается. Image Я возвращаю все данные из vCard по строкам и в кодировке base64 строка не приходит как одна строка. (Обратите внимание, что я сохранил каждое значение в файле, используя \ r \ n)
Пожалуйста, дайте мне знать, как правильно это сделать.
фрагменты кода
Кодирование
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();
encodedProfileImage = Base64.encodeToString(byteArray, Base64.DEFAULT);
Запись
fw = new FileWriter(vcfFile);
...
fw.write("PHOTO;ENCODING=BASE64;TYPE=PNG:"+encodedProfileImage + "\r\n");
Чтение и декодирование
else if(strline[0].equals("PHOTO;ENCODING=BASE64;TYPE=PNG")){
String imagestr=strline[1];
byte[] byteArray = Base64.decode(imagestr, Base64.DEFAULT);
card.profileImage = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
}
По-прежнему не повезло. Я тоже попробовал URL. В этом случае я могу сохранить его и проанализировать, но я не получаю изображение в Контакты. – Sana