Сбой Android AsyncTask при нескольких загрузках через Интернет - PullRequest
1 голос
/ 30 декабря 2011

Мой код получает JSON с сервера. У JSON есть URL изображения. Я анализирую JSON и загружаю изображения с URL-адресов в JSON в растровую таблицу Hashtable, чтобы остановить несколько загрузок одного и того же изображения. Когда я запускаю это в потоке пользовательского интерфейса, приложение замедляется, но работает. При перемещении его в AsyncTask приложение аварийно завершает работу с ИСТОЧНЫМ ИСКЛЮЧЕНИЕМ: java.lang.RuntimeException: произошла ошибка при выполнении doInBackground ()

Что могло пойти не так?

Асинхронный код http://pastebin.com/isDgENkJ

1 Ответ

1 голос
/ 30 декабря 2011

Измените объявление class на:

public class GetMapsAsync extends AsyncTask<Void,Void, CustomItemizedOverlay>{

, и ваш метод doInBackgournd() должен выглядеть следующим образом:

protected CustomItemizedOverlay doInBackground(Void... v){

удалить эту строку внутри doInBackgournd():

mapOverlays.add(itemizedOverlay);

и поместите эту строку вместо return null; в конце внутри doInBackgournd():

return itemizedOverlay;

и ваш метод onPostExecute() должен выглядеть следующим образом:

@Override
protected void onPostExecute(CustomItemizedOverlay overlay) {
     mapOverlays.add(overlay);
}

если вы все еще видите Exception, то также опубликуйте свой logcat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...