Работа над простым проектом Andoid, в основном реализованным в Kotlin, с Java сокетами и потоками.
Мне было интересно, как вы обрабатываете (дуплекс) связь между основной (UI) -потокой МТ и его ребенок (розетка) - нить в лучшем виде. В основном я хочу реализовать следующую логику c:
Если вы нажмете кнопку sh -> запись в сокет
Если сокет читать -> указать в пользовательском интерфейсе
и в настоящее время я делаю это с помощью опроса и родительских вызовов:
- Listener -> sT.pressed = true, где нажата энергозависим -> в run () sT, проверьте нажатие и выполните .println (xyz); использовал этот обходной путь из-за NetworkOnMainThreadException
- Открыл новый считыватель-нить rT в sT и передал сканер и сам sT (как я передал основной поток в поток-сокет). Так в rT: scanner.nextLine () -> parent.parent.showOnUI (xyz), где первый родительский элемент - sT, а второй - mT
, тогда как решение для 2. кажется приемлемым sh для меня, я не могу привыкнуть к опросу. Но, может быть, оба go в неправильном направлении или есть лучший способ добиться этого?