Android - Совместное использование сети между действиями - PullRequest
0 голосов
/ 30 апреля 2011

Я разрабатываю приложение, которое использует собственный сетевой протокол по TCP. Несколько задач в приложении используют разные действия, однако для каждого действия требуется включение сети (поскольку каждое действие должно отправлять / получать некоторые пользовательские пакеты по сети). Так что моя идея в основном заключается в

  1. При запуске приложения - создайте сервис для управления сетью (где-то я читал, что мне нужно создать сеть в другом потоке в этом сервисе, чтобы предотвратить ANR)

  2. Когда запускается новое действие, оно связывается с этим сервисом. В течение этого времени он отправляет / получает данные от службы. Когда действие заканчивается, оно освобождается от услуги.

Я хотел бы знать, имеет ли это смысл.

Кроме того, я понимаю, что могу отправлять данные в службу (для отправки по сети) с помощью интерфейса aidl, но как я получу данные из службы? Похоже, что опрос через помощь - единственный способ, которым я могу придумать, что означает, что мне понадобится еще одна нить в каждой из моих операций, чтобы предотвратить ANR. Конечно, есть и лучший способ.

Я ценю вашу помощь и открыта для предложений.

1 Ответ

0 голосов
/ 30 апреля 2011

На самом деле я читал больше и начинаю смотреть на методы обратного вызова в приведенном примере кода здесь . После более тщательного прочтения у меня появилось лучшее понимание услуг и AIDL.

...