Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Dejseresu
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 7
#1

Работа с потоками - Программирование Android

21.04.2016, 17:11. Просмотров 204. Ответов 4
Метки нет (Все метки)

Программа: парсер, по нажатию на кнопку, она начинает свою работу (конечно же в отдельном потоке). Получив данные с сайта, нам нужно эти данные вывести на экран. Сейчас выводится по нажатию на другу кнопку.
Проблема такова, не могу понять, как сделать, чтобы при завершении парса, значения выводились сразу?

Запуск парса:
Java
1
2
3
4
5
6
7
8
9
10
    public void LoadInf(View view) {
        ParserThread = new Thread(StartParse);
        ParserThread.start();
    }
 
    private Runnable StartParse = new Runnable() {
        public void run() {
            StartParse();
        }
    };
Вывод значений:
Java
1
2
3
public void ShowInf(){
   //Код для вывода
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2016, 17:11     Работа с потоками
Посмотрите здесь:

Работа с потоками (AsyncTask) - Программирование Android
Здравствуйте. Мне нужно отослать post запрос на сервер, но так как грузить GUI нельзя (что и логично) - обволакиваю весь код работы с...

Работа с потоками при переключении Activity - Программирование Android
Если в одной из Activity вызвать поток, в котором будет бесконечный цикл(т.е. поток должен работать в течение всей жизни приложения), а...

Не могу разобраться с потоками - Программирование Android
Здравствуйте. Никак не могу понять принцип выноса задач в отдельный поток. Смысл прост: 1)есть метод который обновляет адаптер для...

Синхронизация между потоками - Программирование Android
Вот, например у меня есть основной Ui поток и поток Thread который он породил. И Tread меняет какую то переменную (ну или массив целый) и я...

Передача данных между потоками - Программирование Android
Всем доброго времени суток. В общем есть приложение, которое парсит сайт с музыкой, добавляет результат в listView и затем выводит...

Работа с потоками - C++
Нужно посчитать сумму элементов в матрице nxn написал а она мне выдаёт ошибку. и теперь не знаю что надо делать. ...

Работа с потоками - C++ Qt
r113_object = new r113_Object(0); thread = new QThread(0); r113_object->moveToThread(thread); В классе зациклена функция и наверно...

Работа с потоками - Delphi
Столкнулся с такой проблемой: Несколько потоков производят вычисления примерно за тоже время, что и один поток, если не хуже. Потоки...

Работа с потоками - C++
Задание Разработать программу, реализующую многопочность средствами среды Win32. Программа должна обеспечивать: Отображение списка...

Работа с потоками - Delphi
Пытаюсь разобраться с потоками, но ничего не выходит :c Кому не сложно добавьте в программу поток который будет выполнять гет запрос. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dajver
407 / 271 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
21.04.2016, 22:19     Работа с потоками #2
Советую использовать AsyncTask, там есть метод doInBackground который выполняет код в отдельном потоке, по завершению будет вызываться метод onPostExecute с результатом того что вернул ваш код, и в нем можно как раз показывать...

http://startandroid.ru/ru/uroki/vse-...yj-primer.html

вот пример
ILNAR_93
Android
219 / 219 / 22
Регистрация: 19.01.2013
Сообщений: 1,645
Записей в блоге: 3
22.04.2016, 09:04     Работа с потоками #3
Можно так
Java
1
2
3
4
5
6
7
8
9
public void ShowInf(){
// Context - контекст активити
Context.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                           //Код для вывода
                    }
                });
}
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,723
22.04.2016, 10:28     Работа с потоками #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Dejseresu, там всё элементарно.
Java
1
2
3
4
5
6
7
8
9
10
11
new Thread(new Runnable() {
        public void run() {
            StartParse();
            runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                           ShowInf();
                    }
                });
        }
    }).start();
Классы называйте с заглавной буквы, методы - с прописной.
Dejseresu
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 7
24.04.2016, 23:11  [ТС]     Работа с потоками #5
Спасибо большое
Yandex
Объявления
24.04.2016, 23:11     Работа с потоками
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru