Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Dejseresu
0 / 0 / 0
Регистрация: 18.01.2016
Сообщений: 7
#1

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

21.04.2016, 17:11. Просмотров 241. Ответов 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(){
   //Код для вывода
}

http://www.cyberforum.ru/android-dev/thread1655344.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2016, 17:11
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Работа с потоками (Программирование Android):

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

Не могу разобраться с потоками
Здравствуйте. Никак не могу понять принцип выноса задач в отдельный поток....

Синхронизация между потоками
Вот, например у меня есть основной Ui поток и поток Thread который он породил....

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

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

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

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

вот пример
0
ILNAR_93
Android
236 / 236 / 49
Регистрация: 19.01.2013
Сообщений: 1,851
Записей в блоге: 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
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,732
22.04.2016, 10:28 #4
Лучший ответ Сообщение было отмечено Dejseresu как решение

Решение

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
24.04.2016, 23:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2016, 23:11
Привет! Вот еще темы с решениями:

Qt работа с потоками
qt надо два потока. в одном qwebview, в другом мой код.

Работа с потоками
Возникли трудности с потоками. Необходимо, чтобы один поток считывал с консоли,...

Работа с потоками
Переделал код под работу в потоках, но при запуске на андроиде черный экран,...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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