Есть ли способ, которым я могу поддерживать поток сокетов, выполняющий несколько действий? - PullRequest
0 голосов
/ 03 марта 2020

Я очень плохо знаком с потоками и сокетами в Android. Вот что я пытаюсь сделать.

Шаг 1. На занятии 1 есть кнопка «Подключиться».

Шаг 2. При нажатии кнопки «Подключиться» приложение попытается подключиться к серверу. java работает на компьютере. Если соединение не установлено, оно останется в той же активности. В противном случае go перейдет к действию 2.

Шаг 3. На занятии 2 есть поле для редактирования и кнопка «Отправить». При нажатии кнопки «Отправить» данные отправляются на сервер.

Могу ли я получить доступ к этой же теме в следующем упражнении? Если поток жив, как я могу выполнить задачи в этом конкретном потоке? Любой пример кода будет очень полезен.

1 Ответ

0 голосов
/ 07 марта 2020

Вы должны использовать foreground service в действии 1, когда кнопка подключения запускает сокет, фактически ваша служба должна подключаться к сокету, а служба будет обрабатывать соединение, а также отправлять и получать данные. После этого в Activity2 вы должны использовать что-то вроде eventBus для отправки данных из активности в службу и отправки данных из службы в сокет

. Это решение - лучший способ сделать это, потому что обработка всех данных и моделей выполняются в сервисе, и вам не нужно обрабатывать ответы в каждом действии, используя сокет.

надеюсь, это поможет

...