Всем привет) У меня такая задача: С активности я запускаю подгрузку одного JSON-чика по кнопке через AsynkTask. Мне нужно запустить прогрессбар, сделать, наверное progressBar.setCanceble(false);
до тех пор, пока не произойдет загрузка (удачно). После удачной загрузки должна запуститься активность, которая распарсенные значения уже сделает, так как я хочу, но как это сделать, я нзаю.
Вопрос: где инициализировать - new ParseTask().execute();
, чтобы запустить его как бы сказать... Наверное, в отдельном потоке. Причем, чтобы ничего остального не включалось, понимаете о чем я?. Например, сканер устройств маяков.
Действительно, после исполнения строчки
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;
}
Вопрос закрыт. Как показали тесты, это решает мою проблему. Спасибо за участие в обсуждениях ЮриюСПБ.
Сетевое взаимодействие по протоколу ТСР /IP подходит для большинства сетевых нуждОно обеспечивает сериализируемые, предсказуемые и надежные...
Большинство событий, на которые реагирует прикладная программа с графическим пользовательским интерфейсом, происходят при взаимодействии...
Есть две кнопки: загрузить фото с устройства и сделать его с камерыКаким образом это реализуется? Не нужно за меня код писать, сама логика...