Страница 1 из 1

Обновление информации без перезагрузки приложения

Добавлено: 17 апр 2014, 14:43
September
Собственно не найдя способа решения проблемы решил создать топик тут.
Проблема такова:
Есть SplashScreen у которого есть AsyncTask который в фоне парсит JSON файл по заданному URL, по завершению парсинга отрабатывает onPostExecute и сплэшскри финиширует при этом переходя на вторую активити где находится лист с данными которые спарсились. Есть кнопка настроек при нажатии на которую открывается активность с текстовым полем в который забивается URL до JSON (тобиш пользователь может указать свой JSON который будет парсится) Собственно тут проблема когда пользователь применяет данные изменения (url) нужно заново спарсить данные не перезапуская приложение. Пробовал выносить AsyncTask в отдельный класс, при этом сплэш скрин отказался выполнять .execute() переходя с разу на 2е активити без данных. Дублировать код не хочу и вот собственно интересуюсь мнения гуру данного форума что можно предпринять и как же мне обновлять данные, интересует даже не конкретное решение проблемы а совет в какую сторону двигаться и мб что почитать.

Re: Обновление информации без перезагрузки приложения

Добавлено: 17 апр 2014, 15:02
altwin
я так и не понял в чем проблема. Когда вводится url запускается background поток выполняющий загрузку и возвращающий результат в UI - все.

Re: Обновление информации без перезагрузки приложения

Добавлено: 18 апр 2014, 10:17
September
Проблема в запуске потока без дублирования еще одного AsyncTask, выносил его в отдельный класс ничего не получилось, программа игнорирует execute, в общем то уже сам разобрался с отдельным классом, нашел косяк.Но при этом возник еще один вопрос как узнать завершил ли поток свою работу?Пробовал так

getResultMap.execute(url);
do{
if(getResultMap.getStatus().toString().equals("FINISHED"))
{
Intent intent = new Intent(SplashScreen.this,MainActivity.class);
startActivity(intent);
finish();
break;
}
while(true);
Приложение виснет намертво)
PS Эту проблему тоже решил но теперь активность просто черного цвета пока загружаются данные оО видимо способ которым делаю я занимает UI поток