Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 14 дек 2018, 17:34

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Доступ к GUI из другого потока
СообщениеДобавлено: 23 окт 2014, 13:10 

Зарегистрирован: 08 фев 2014, 18:15
Сообщений: 134
Благодарил (а): 53 раз.
Поблагодарили: 7 раз.
Есть программа на Java под Windows - нужно раз в минуту читать буфер обмена и выводить данные в текстовое поле. Отсюда вопрос - есть ли в Java такие механизмы вроде AsyncTask, которые выполняют код в отдельном потоке и по его окончании вызывают метод в главном потоке. Или может что то наподобие BroadcastReceiver..


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Доступ к GUI из другого потока
СообщениеДобавлено: 23 окт 2014, 13:30 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Создаете Handler в UI потоке и все сообщения отправленные в него будут выполнены в UI потоке. По такому же принципу работает AsyncTask.

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Доступ к GUI из другого потока
СообщениеДобавлено: 23 окт 2014, 13:42 
Аватар пользователя

Зарегистрирован: 09 янв 2012, 14:45
Сообщений: 2386
Откуда: Самара
Благодарил (а): 102 раз.
Поблагодарили: 321 раз.
Денис, написано же, в Java, т.е. в чистой Java.
Есть такое, но с ходу не вспомню что именно.

_________________
Изображение

А тот ли ты путь выбрал, разработчик?
Хочешь знать ошибки ответ? Загляни в logcat!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Доступ к GUI из другого потока
СообщениеДобавлено: 23 окт 2014, 14:15 

Зарегистрирован: 08 фев 2014, 18:15
Сообщений: 134
Благодарил (а): 53 раз.
Поблагодарили: 7 раз.
Разве что запустить Callable через ExecutorService..Но метод get судя по всему заблокирует главный поток. Вечером попробую.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Доступ к GUI из другого потока
СообщениеДобавлено: 23 окт 2014, 16:55 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Mikhail_dev писал(а):
Денис, написано же, в Java, т.е. в чистой Java.
Есть такое, но с ходу не вспомню что именно.
Действительно, почему-то мне казалось, что это к Java относится.

Тогда нужно разбираться в работе самого GUI. В нем обязательно должны быть методы по выполнению кода в UI потоке.
Если используете Swing то вот этот, вроде, должен подойти: http://docs.oracle.com/javase/7/docs/api/javax/swing/SwingUtilities.html#invokeLater(java.lang.Runnable)

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Доступ к GUI из другого потока
СообщениеДобавлено: 23 окт 2014, 19:11 

Зарегистрирован: 08 фев 2014, 18:15
Сообщений: 134
Благодарил (а): 53 раз.
Поблагодарили: 7 раз.
Ну и совсем нубский вопрос - как эти данные вывести хотя бы в консоль? System.out.println() консоль почему то не открывает..
Update: Понял=) Jar был ассоциирован с javaw.exe=)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB