Прямо сейчас у меня есть сервер, работающий на рабочем столе. Я хочу иметь возможность запускать свое приложение, нажимать кнопку, чтобы начать сбор данных с этого сервера, и останавливаться только после того, как я снова нажму кнопку. Пользователь всегда должен получать данные с этого сервера после нажатия кнопки, даже если приложение неактивно. До сих пор я рассматривал возможность настройки службы или использования потоков самостоятельно.
Служба звучит именно так, как мне нужно, но мне сказали, что она не предназначена для поддержания длительного сетевого подключения. Я просмотрел пример приложения BluetoothChat, и он не использовал службу. Будет ли в этом случае правильным использование службы, или мне следует реализовать ее с помощью потоков, как это делает пример приложения? Единственная причина, по которой мне нужно длинное соединение, — это прослушивание отчетов об ошибках с сервера. Другие сетевые вещи происходят только тогда, когда пользователь напрямую использует приложение. В любом случае мне придется использовать потоки, потому что служба работает в том же потоке, что и действие, которое ее вызывает, но я думаю, что мой главный вопрос заключается в том, следует ли мне отказаться от части службы. Прямо сейчас у меня есть базовая служба, которая может обрабатывать отправленные ей сообщения, и она кажется очень простой в использовании. Документация по нему просто повсюду, должен быть раздел, говорящий: «Если вы хотите сделать X, то это предлагается!»