По поводу потока и завершения AsynkTask

450
07 февраля 2017, 20:11

Всем привет) У меня такая задача: С активности я запускаю подгрузку одного JSON-чика по кнопке через AsynkTask. Мне нужно запустить прогрессбар, сделать, наверное progressBar.setCanceble(false); до тех пор, пока не произойдет загрузка (удачно). После удачной загрузки должна запуститься активность, которая распарсенные значения уже сделает, так как я хочу, но как это сделать, я нзаю.

Вопрос: где инициализировать - new ParseTask().execute();, чтобы запустить его как бы сказать... Наверное, в отдельном потоке. Причем, чтобы ничего остального не включалось, понимаете о чем я?. Например, сканер устройств маяков.

Answer 1

Действительно, после исполнения строчки

new NetworkClass((ScanningActivity) mContext).execute();

запускается метод doInBackground() в отдельном потоке.

В NetworkClass, унаследованном от AsynkTask, были добавлена возможность запуска прогресс-бара, который находится в ScanningActivity со специальным конструктором, и некая переменная типа Boolean, которая будет разрешать исполнение нужного мне участка кода в основной Activity после загрузки данных:

public NetworkClass(ScanningActivity scanningActivity) {
    this.scanningActivity = scanningActivity;
}
@Override
protected void onPreExecute() {
    super.onPreExecute();
    this.scanningActivity.showProgress();
}
....
@Override
public void onPostExecute(String strJson) {
    super.onPostExecute(strJson);
    ...
    this.scanningActivity.hideProgress();
    ScanningActivity.checking = true;
}

Вопрос закрыт. Как показали тесты, это решает мою проблему. Спасибо за участие в обсуждениях ЮриюСПБ.

READ ALSO
Что такое дейтаграммы (Datagram)?

Что такое дейтаграммы (Datagram)?

Сетевое взаимодействие по протоколу ТСР /IP подходит для большинства сетевых нуждОно обеспечивает сериализируемые, предсказуемые и надежные...

531
sql запрос и вывод уникальных записей

sql запрос и вывод уникальных записей

ЗдравствуйтеИмеется БД со структурой:

479
Какие существуют “события”?

Какие существуют “события”?

Большинство событий, на которые реагирует прикладная программа с графическим пользовательским интерфейсом, происходят при взаимодействии...

432
Загрузить или сделать фото [требует правки]

Загрузить или сделать фото [требует правки]

Есть две кнопки: загрузить фото с устройства и сделать его с камерыКаким образом это реализуется? Не нужно за меня код писать, сама логика...

404