Android дуплексная связь между потоками поверх Java гнезда - PullRequest
0 голосов
/ 03 мая 2020

Работа над простым проектом Andoid, в основном реализованным в Kotlin, с Java сокетами и потоками.

Мне было интересно, как вы обрабатываете (дуплекс) связь между основной (UI) -потокой МТ и его ребенок (розетка) - нить в лучшем виде. В основном я хочу реализовать следующую логику c:

  1. Если вы нажмете кнопку sh -> запись в сокет

  2. Если сокет читать -> указать в пользовательском интерфейсе

и в настоящее время я делаю это с помощью опроса и родительских вызовов:

  1. Listener -> sT.pressed = true, где нажата энергозависим -> в run () sT, проверьте нажатие и выполните .println (xyz); использовал этот обходной путь из-за NetworkOnMainThreadException
  2. Открыл новый считыватель-нить rT в sT и передал сканер и сам sT (как я передал основной поток в поток-сокет). Так в rT: scanner.nextLine () -> parent.parent.showOnUI (xyz), где первый родительский элемент - sT, а второй - mT

, тогда как решение для 2. кажется приемлемым sh для меня, я не могу привыкнуть к опросу. Но, может быть, оба go в неправильном направлении или есть лучший способ добиться этого?

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