Sockets and asynctask de Android

Estoy a punto de empezar a hacer una aplicación que se supone que actúe como un cliente de chat tcp y he estado leyendo y leyendo y ive llegar a la conclusión de que sería mejor (si no es necesario?) Para poner mi socket y lector en asynctask.

La cosa es im no sure sobre dónde comenzar, como im nuevo a androide esto es una empresa masiva para mí atleast pero los fundamentos por lo que he entendido.

  1. Instanciar las viewvs en la clase principal y crear un método para enviar texto desde un EditText a la clase async.

  2. Crear la clase asíncrona, con el socket y la conexión, colocar el lector aquí y el escritor, el escritor será un método para tener en un parámetro de cadena que se envía a través del socket.

  3. De alguna manera hacer que mi lector constantemente escuchar el socket del servidor y actualizar mi textview con cadenas que se envían.

¿Es este un buen "plan" básico para comenzar a programar o está defectuoso de alguna manera o me falta algo? Una pregunta que tengo antes de empezar es la tarea asíncrona, ¿lo hago? Por lo que estoy consciente de que no necesito devolver nada y no voy a necesitar ninguna actualización de progreso? Mi dirección para el cliente será codificado así que estoy adivinando thats la única cosa que me gustaría pasar un parámetro a la clase asíncrona?

Lo siento si es básico pero estoy empezando y me gustaría no empezar de mal.

Sólo desea utilizar un AsyncTask para acciones pequeñas (relativamente) y directas, como descargar elementos específicos (por ejemplo, imágenes o mp3). Suena como lo que quieres es, en cambio, un servicio . El servicio se ejecutará en segundo plano de su aplicación y podrá gestionar las acciones de red a través del servicio.

Para obtener más documentación útil y ayuda para ver si el Servicio es adecuado para usted, consulte aquí.

Editar:

Para obtener más información sobre la creación de un servicio en su propio subproceso, consulte esto.

Editar 2:

Trate de pensar que es como la antiactividad. Hace todo lo que una actividad no debería tener que hacer, principalmente, el procesamiento. Cualquier procesamiento de hardcore se debe hacer en un servicio de subprocesos por muchas razones, principalmente para multitarea y toma de procesamiento de la principal interfaz de usuario de hilo. Para demostrar esto, piensa en Pandora. Pandora crea un servicio (en su propio hilo) que se conecta a su sitio y transmite música. El servicio tiene un ciclo de vida que le permitirá vivir mientras se matan las actividades. Esto permite que la música para transmitir el usuario hará otras tareas. Pero cuando el usuario quiere ver lo que está jugando, sólo tendrá que hacer clic en la aplicación. A partir de ahí la actividad verificará el servicio, verá que tiene algunos datos, y basará su contenido fuera de los datos en el servicio.

Espero que esto ayude. Realmente no puedo pensar en un mejor por qué ponerlo ….

  • Diferencias entre SwingWorker de Java y Android AsyncTask
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.