Android-сокеты и асинтеза

Я собираюсь начать делать приложение, которое должно было выступать в качестве клиента чата tcp, и я читал и читал, и я пришел к выводу, что было бы лучше (если не требуется?), Чтобы поставить мой сокет и читателя в асинтезу.

Дело в том, что я не уверен, с чего начать, так как это новое для андроида, это огромная работа для меня по крайней мере, но основы, насколько это понимало я.

  1. Создайте представление viewvs в главном классе и создайте метод отправки текста из EditText в класс async.

  2. Создайте класс async с сокетом и соединением, разместив здесь читателя и писателя, автором будет метод для ввода строкового параметра, который отправляется через сокет.

  3. Как-то заставляют моего читателя постоянно слушать сокет сервера и обновлять мой текст с помощью строк, которые отправляются.

Является ли это хорошим базовым «планом», чтобы начать программирование или он каким-то образом испорчен или что-то мне не хватает? Один вопрос, который я получил до начала, – это асинхронная задача, я могу ее сделать? Насколько мне известно, мне не нужно что-то возвращать, и мне не понадобится обновление какого-либо прогресса? Мой адрес для клиента будет жестко запрограммирован, поэтому я предполагаю, что единственное, что я хотел бы передать параметру в класс async?

Извините, если его основной, но он просто начинается и хотел бы не начать с неправильного.

Вы хотите использовать AsyncTask для небольших (относительно) и прямых действий, таких как загрузка определенных элементов (например, изображений или mp3). Похоже, что вы хотите, а не сервис . Служба будет работать на фоне вашего приложения, и вы сможете обрабатывать сетевые действия через службу.

Для получения дополнительной полезной документации и получения справки о том, действительно ли Служба подходит вам, смотрите здесь.

Редактировать:

Для получения дополнительной информации о создании Сервиса в его собственном потоке см. Это.

Изменить 2:

Попытайтесь думать, что это как анти-активность. Он делает все, что деятельность не должна делать, прежде всего, для обработки. Любая обработка хардкора должна выполняться в многопоточной службе по многим причинам, главным образом для многозадачности и обработки обработки основного потока пользовательского интерфейса. Чтобы продемонстрировать это, подумайте о Пандоре. Pandora создает сервис (в своем собственном потоке), который подключается к его сайту и передает музыку. У службы есть жизненный цикл, который позволит ему жить, пока деятельность убита. Это позволяет потоку музыки выполнять другие задачи. Но когда пользователь хочет посмотреть, что играет, ей нужно будет только щелкнуть в приложении. Оттуда деятельность проверит сервис, увидит, что у него есть некоторые данные, и оставьте его содержимое с данными в службе.

Надеюсь, это поможет. Я действительно не могу думать о том, что лучше сказать.