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

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

Войти
Регистрация
Восстановить пароль
 
powowstal
28 / 28 / 5
Регистрация: 21.03.2013
Сообщений: 345
#1

Передать данные в работающий thread из другого thread - Программирование Android

21.07.2016, 14:04. Просмотров 185. Ответов 8
Метки нет (Все метки)

Есть 2 потока запущенные разными классами и из потока А нужно сообщить потоку Б что бы он запустил свою определенную функцию. Ссылки на объект естественно нет (. Может есть какие то средства общения потоков, кроме внешних хранилищ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.07.2016, 14:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передать данные в работающий thread из другого thread (Программирование Android):

Как передать данные в thread? - Программирование Android
Доброго всем дня) Прошу совета. Есть активити. Она запускает сервис,в котором стартует поток, опрашивающий удаленный сервер по заранее...

Как вытащить данные из потока. Cant create handler inside thread that has not called Looper.prepare() - Программирование Android
В общем столкнулся со следующей неприятной проблемой. Есть клиент. Он запрашивает у сервера некоторые данные. Сервер эти данные посылает...

Как передать данные в Activity из другого класса - Программирование Android
При нажатии на кнопку, создается активити orgAdapter = new OrgAdapter(this, orgs); GridView gridView = (GridView)...

Остановить Thread - Программирование Android
Гуру, помогите кодом! Есть активити, которое заполняется из потока Поток "линейный": -долго думаем - выводим в поле 1 -долго...

Thread.sleep() - Программирование Android
Вообщем, проблемма вот в чем. Я пытаюсь заставить "заснуть" программу, в результате - она засыпает, но сразу выводит все данные. ...

использование thread - Программирование Android
при нажатии должен срабатывать episodes и появляться новый layout поверх имеющегося. @Override protected void onCreate(Bundle...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
21.07.2016, 14:07 #2
https://github.com/greenrobot/EventBus
1
powowstal
28 / 28 / 5
Регистрация: 21.03.2013
Сообщений: 345
21.07.2016, 17:56  [ТС] #3
Паблито, а если нет контекста (context) (
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
21.07.2016, 17:57 #4
ссылку вообще читал?
вопрос риторический, и так ясно что не читал
0
powowstal
28 / 28 / 5
Регистрация: 21.03.2013
Сообщений: 345
21.07.2016, 18:19  [ТС] #5
Паблито,
Цитата Сообщение от Паблито Посмотреть сообщение
ссылку вообще читал?
читал, там написано регистрация автобуса - eventBus.register(this);
А в моем потоке нет контекста "this" - не присуцтвует, в этом и беда.
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
21.07.2016, 18:26 #6
this это указатель на текущий объект
0
powowstal
28 / 28 / 5
Регистрация: 21.03.2013
Сообщений: 345
21.07.2016, 18:45  [ТС] #7
Паблито, сор, уже разобрался ).
Но факт в том что его у меня нет. Короче без ссылки я не как не достучусь к работающему потоку?
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
21.07.2016, 18:49 #8
рекомендую не тупить и потратить часик-два на изучение этой библиотеки - это пожалуй лучшее, что есть на рынке
перебрасывание событиями между потоками с помощью нее решается на ура, I guarantee it
0
powowstal
28 / 28 / 5
Регистрация: 21.03.2013
Сообщений: 345
22.07.2016, 15:36  [ТС] #9
Паблито, Спс за ссылку, помогло - когда разобрался).
Но не совсем понял о модах на слушатель:
Java
1
1 @Subscribe(threadMode = ThreadMode.POSTING)
- способ для того же потока в котором происходит событие?
Java
1
2 @Subscribe(threadMode = ThreadMode.MAIN)
- понятно для UI
Java
1
3 @Subscribe(threadMode = ThreadMode.BACKGROUND)
- для любого Tread?
Java
1
4 @Subscribe(threadMode = ThreadMode.ASYNC)
- для Asynctask, AsyncLoader ... ?

И еще интересно на снове чего EventBus работает, что лежит в его основе может Intent, broadcastreceiver ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2016, 15:36
Привет! Вот еще темы с ответами:

Android UiThread (UI thread) - Программирование Android
кто-нибудь может объяснить , что это такое и как используется на примере?

Обмен информацией с Thread - Программирование Android
Всем привет! Приложение запускает Thread для выполнения некоторой работы. Работа зависит от параметров, которые могут изменяться...

Потоки. Thread и runOnUiThread - Программирование Android
Пытаюсь в отдельном потоке выполнять действия и во время этого показывать ProgressBar. public void runProcess() { //запускаем...

Thread после выполнения закрывается? - Программирование Android
Добрый день!) подскажите такую штуку. есть поток Thread ProcessThread = new Thread(new Runnable() { @Override ...


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

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

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