Я загружаю изображение с веб-сайта, которое будет отображаться на изображении.Невозможно нарисовать растровое изображение, так как оно загружено на холст
я хочу, чтобы изображение появилось на ImageView , как он будет загружен и не ждать, пока все изображения будут загружены. то, что я имею в виду, если изображение 10000 байт и первые байты для загрузки являются 1024, то изображение должно быть построено из 1024 байтов и формируют часть загружаемых изображений и нарисуйте его на холсте
byte[] buffer =new byte[1024];
int bytesRead = -1;
byte[] writtenOnes;
while((bytesRead = inputStream.read(buffer)) != -1){
fileOutputStream.write(buffer, 0, bytesRead);
fileOutputStream.flush();
filebytes = Files.toByteArray(media);
status = (100 * filebytes.length)/contentLength;
publishProgress(status);
}
fileOutputStream.flush();
fileOutputStream.close();
inputStream.close();
if(media.length() == contentLength){
d(" WELL DONE, FILECOMPLETLY DOWNLOADED. SIZE IS "+ contentLength);
}else{
d(" file not completely downloaded. bytes remaining "+(contentLength -media.length()));
}
}
connection.disconnect();
return mediaFile;
}catch(Exception exc){
exc.printStackTrace();
return "";
}
}
protected void onProgressUpdate(Integer... status) {
int state = status[0];
incompleteBitmap =BitmapFactory.decodeByteArray(filebytes, 0, filebytes.length);
d(" status is "+ state);
canvas.drawBitmap(incompleteBitmap,0,0,new Paint(Paint.FILTER_BITMAP_FLAG));
progressBar.setProgress(state);
}
Я не могу создать растровое изображение из загруженных байтов. я получаю NullpointerException, когда я пытаюсь получить сформированную растровую карту по методу onProgressUpdate()
Вопрос: есть ли способ, которым я могу это достичь?
все под моим контролем, включая изображение формат и сервер, который получает изображение. позвольте мне попробовать ваше решение, и я расскажу вам результаты –
У меня проблема с программной установкой ширины и высоты моего упрощенного обзора. и я не вижу никакого метода в классе GenericDraweeHierachy, и когда я использую методы android, это похоже на то, что они не были реализованы. 'Simpledrawee.getLayoutParams(). Ширина = 350'. вы столкнулись с такой проблемой? –