Async Image Загрузка и хранение в массиве ImageView
У меня проблема с загрузкой растровых изображений из URL.Дело в том, что код работает, потому что я вызываю 2 запроса от сервера, чтобы получить некоторую информацию, во время первого запроса все работает нормально, но во время второго, похоже, что connection.connect ();ничего не делает ...
Вот код:
ПЕРВОЕ ПОЛУЧЕНИЕ
private class RequestQuickEventService extends AsyncTask<Void, Void, Boolean> {
protected Boolean doInBackground(Void... gameId) {
quickEvent = MyRestClient.getInstance().retrieveQuickEvent();
...
if (quickEvent == null) {
return false;
}
return true;
}
@Override
protected void onPostExecute(Boolean result) {
super.onPostExecute(result);
if (result) {
prepareQuestion();
}
}
}
private void prepareQuestion() {
new DownloadImageService().execute(quickEvent.getImage());
}
private class DownloadImageService extends AsyncTask<String, Void, Bitmap> {
private Bitmap loadImageFromNetwork(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
}
catch (IOException e) {
e.printStackTrace();
return null;
}
}
@Override
protected Bitmap doInBackground(String... urls) {
return loadImageFromNetwork(urls[0]);
}
protected void onPostExecute(Bitmap result) {
questionImage.setImageBitmap(result);
...
}
}
ВТОРОЕ ПОЛУЧЕНИЕ
private class SendQuickQuestionService extends AsyncTask<Integer, Void, Void> {
protected void onPreExecute() {
...
taskResponse = new TaskResponse(ti, te, 1);
...
}
protected Void doInBackground(Integer... params) {
...
quickEvent = MyRestClient.getInstance().sendQuickEvent(...);
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
if (quickEvent != null) {
prepareQuestion(); //same as before
}
}
}
Не знаю почему, но во второй раз, когда я вызываю loadImageFromNetwork, он возвращает нулевое изображение:
- First url: https://.../e4774cdda0793f86414e8b9140bb6db42012-02-20_161209.586668.jpeg-->OK
- Second url: https://.../e4774cdda0793f86414e8b9140bb6db42012-02-20_143228.782917.png-->FAIL
connection.connect(); //THE SECOND TIME DOES NOTHING...