У меня действительно интересная проблема, которую нужно решить:
Я получаю статическое изображение карты Google с URL-адресом вроде this .
I 'Мы пробовали несколько способов получить эту информацию: выборка «удаленного ресурса» как ByteArrayOutputStream, сохранение изображения на SD-карте симулятора, и т. д.… но каждый волнуется раз, когда я получаю IlegalArgumentException .
Я всегда получаю ответ HTTP http 200 и правильный тип MIME ("image / png"), но в любом случае: получить изображение и преобразовать его в растровое изображение или сохранитьизображение на SD и чтение его позже;Я получаю один и тот же результат ... файл всегда поврежден.
Я действительно считаю, что это проблема кодирования или метод чтения (похожий на этот):
public static Bitmap downloadImage(InputStream inStream){
byte[] buffer = new byte[256];
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while (inStream.read(buffer) != -1){
baos.write(buffer);
}
baos.flush();
baos.close();
byte[] imageData = baos.toByteArray();
Bitmap bi = Bitmap.createBitmapFromBytes(imageData, 0, imageData.length, 1);
//Bitmap bi = Bitmap.createBitmapFromBytes(imageData, 0, -1, 1);
return bi;
}
Единственныйна ум приходит изображение imageData.lenght (в ответе длина контента: 6005), но я действительно не могу понять это.Любая помощь приветствуется ...