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

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

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

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

21.04.2016, 17:11. Просмотров 212. Ответов 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(){
   //Код для вывода
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2016, 17:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с потоками (Программирование Android):

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

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

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

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

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

EventBus и обмен событиями между потоками - Программирование Android
Допустим у меня есть один фоновый thread и второй. Могу ли я через eventBus послать event из первого потока второму для обработки? Если да...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dajver
408 / 272 / 18
Регистрация: 18.09.2010
Сообщений: 1,111
21.04.2016, 22:19 #2
Советую использовать AsyncTask, там есть метод doInBackground который выполняет код в отдельном потоке, по завершению будет вызываться метод onPostExecute с результатом того что вернул ваш код, и в нем можно как раз показывать...

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

вот пример
0
ILNAR_93
Android
221 / 221 / 23
Регистрация: 19.01.2013
Сообщений: 1,686
Записей в блоге: 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() {
                           //Код для вывода
                    }
                });
}
0
CoolMind
419 / 402 / 65
Регистрация: 06.10.2012
Сообщений: 1,727
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();
Классы называйте с заглавной буквы, методы - с прописной.
0
Dejseresu
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 7
24.04.2016, 23:11  [ТС] #5
Спасибо большое
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2016, 23:11
Привет! Вот еще темы с ответами:

Работа с потоками - C++
Поток main должен выполнить следующие действия: создать массив, размерность и элементы которого вводятся пользователем с консоли; ...

Работа с потоками - C#
Объясните мне мои ошибки и как их поправить(грузит ЦП и делает невозможным работу с GUI программы - лагает ужасно) Есть некий класс, в...

Работа с потоками - C#
Возникли трудности с потоками. Необходимо, чтобы один поток считывал с консоли, другой выводил эту же информацию на консоль. Поток, который...

.NET 4.x Работа с потоками - C#
Вообщем у меня такая ситуация. Хочу при загрузке формы запустить функцию в новом потоке. В этой функции у меня добавляются элементы,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.04.2016, 23:11
Ответ Создать тему
Опции темы

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