Асинхронное сокетное общение в Android с потоками - PullRequest
1 голос
/ 04 ноября 2010

Мне удалось запрограммировать приложение, которое связывается с сервером.Я могу писать, и я могу читать.Мне даже удалось сделать это с помощью Java NIO.

Моя проблема в том, что у меня есть бесконечный цикл while, который прослушивает новые данные для чтения.Он блокирует всю программу, и я больше не могу записывать данные.

Мне нужно решение, чтобы цикл продолжал работать в фоновом режиме, ожидая чтения новых данных, пока я отправляю данные.

Любые предложения

Ответы [ 3 ]

3 голосов
/ 04 ноября 2010

Использование AsyncTask .Он был создан только для такого рода заданий (для выполнения длительных фоновых задач, но при этом есть возможность обновления пользовательского интерфейса).

0 голосов
/ 04 ноября 2010

Если ваш цикл блокирует всю программу, значит что-то не так.Я не вижу, какого другого ответа вы реально можете ожидать, пока не напишите какой-нибудь код.

0 голосов
/ 04 ноября 2010

Вы можете либо создать отдельный поток для асинхронной обработки сокета и передавать сообщения через обработчик, либо создать локальный сервис для обработки сообщений.

Никогда не следует долго ждать на основном (UI)) нить.

...