Cómo crear una aplicación básica de chat de Android con Android Studio y cuál es un punto de partida apropiado para hacerlo

Cosas que necesitas para hacer una aplicación de chat:
1. Servidor:
Esto es necesario para almacenar toda la información del usuario, como nombre de usuario, contraseña e identificación de registro de gcm (veremos esto más adelante).
Puede alojarlo en cualquier lugar Amazon EC2, Google App Engine, etc.
API para inicio de sesión, envío de mensajes de chat, lista de mensajes, eliminar mensajes y muchos otros.

2. Registro para la notificación push de GCM:
Consulte el siguiente enlace:
Cómo crear un servidor para enviar notificaciones push con GCM a dispositivos Android usando Python

3. Android:
Regístrese en GCM y envíe la identificación de registro de gcm (como se menciona en el punto 1) al servidor para su actualización.
Diseñe la interfaz de usuario para enviar mensajes, envíe un mensaje a través de la API REST al servidor.
Puede optar por usar xmpp o mqtt para esto, pero como su pregunta era solo construir la aplicación básica de chat para que no entrara en detalles.

4. Comunicación de servidor a dispositivo y viceversa:
Ahora, al recibir un mensaje proveniente del dispositivo, envíe una notificación push al dispositivo receptor. Hay 2 formas de hacerlo:
i) Enviar la carga útil del mensaje junto con la notificación push
ii) Solo envíe “sincronización” y al recibir la notificación de “sincronización”, la aplicación de Android del receptor puede hacer una llamada al servidor, buscar todos los mensajes y mostrárselos al usuario. El beneficio de este enfoque es que los mensajes nunca se perderán. Tendrá que mantener el tiempo de “sincronización” en el lado de la aplicación de Android.

Lo anterior era la forma normal de construirlo si quieres aprender, pero si quieres hacerlo rápido, puedes integrar Applozic “plug and play messaging library”, que te ayudará a comenzar a chatear en media hora. Y la belleza es que ni siquiera necesitaría desarrollar u hospedar ningún servidor.

puede obtener más detalles desde aquí: Kit de herramientas de mensajería Plug & Play

PD: Soy el cofundador de Plug & Play Messaging Toolkit

Hay varias formas de hacer eso. Puede crear un socket de larga ejecución para la comunicación más rápida o puede elegir REST API y notificaciones Push para una más lenta.

La mejor manera sería usar bibliotecas XMPP como aSmack o la versión más reciente de Smack. Necesitará un servidor XMPP como OpenFire o eJabberd que se ejecute en algún Hosting antes de poder crear una aplicación móvil.
XMPP es cómo la mayoría de las aplicaciones de chat populares envían y reciben mensajes. Algunas aplicaciones como GTalk, Whatsapp, etc. dependen completamente del protocolo XMPP. Se cree que Whatsapp está utilizando una versión personalizada de aSmack.
La mejor parte de XMPP es que la mayoría de las herramientas son de código abierto. OpenFire y eJabberd son openSourced, mientras que aSmack y muchas otras bibliotecas XMPP también son de código abierto, incluido libJingle, la biblioteca XMPP de Google para enviar y recibir mensajes de voz / video y transferencia de archivos.

Sin embargo, trabajar en XMPP requiere que lo entiendas completamente. Lea un libro sobre XMPP como ‘XMPP: una guía definitiva’ y lea varios detalles de XEP. Realmente es un nivel avanzado, así que si estás luchando con compilaciones simples de Gradle, entonces probablemente esto aún no sea para ti.

Primero, aprenda más sobre el sistema de compilación Gradle y el uso de los archivos Gradle. También hay un libro sobre eso. Puede suscribirse al canal de desarrolladores de Google en youtube, donde enseñan sobre diversos temas con Android Studio.

Prima:
Si eres bueno en el script del lado del servidor, puedes probar el combo Node.js y Socket.io para obtener resultados más rápidos y más personalizables. Sin embargo, implica mucho trabajo adicional para una aplicación profesional que obtendrá automáticamente en XMPP. La implementación de un servidor XMPP requiere un nodo VM separado, mientras que Node.js es compatible con el alojamiento compartido por muchos proveedores.

Otras lecturas:
La respuesta de Abhishek Jain a ¿Cómo puedo hacer un sistema de chat como Facebook para los usuarios de mi sitio web?


¿Te gustó mi respuesta? Siga mi blog sobre programación para leer más en Learn Programming.
¿Quieres saber más sobre mí y el trabajo que hago? Sígueme en Noob Corner
También puedes seguirme en Abhi (@ abhi347) | Gorjeo

Hay muchas maneras de crear una aplicación de chat para la plataforma Android, como lo resume Abhishek. Pero si es nuevo en el desarrollo, mantenga los protocolos y sockets XMPP a un lado por un tiempo, y comprenda que el desarrollo de aplicaciones se realiza básicamente en pasos, como

1. Desarrollo del concepto: discutir y mapear su idea y el plan para crearla.

2. Diseño: Realización de los wireframes Ui / Ux y descifrar el flujo y las características de la aplicación.

3. Codificación: le da a la aplicación un flujo de estructura sobre la cual apoyarse.

4. Pruebas: aquí, la experiencia de la aplicación se prueba para ver si la aplicación es realmente tan atractiva y receptiva como pensabas, y si hay algunas deficiencias, cómo solucionarlas.

5. Marketing y backend Después de que su aplicación esté activa, deberá dar a conocer su presencia a las masas. Es por eso que es necesario tener una idea que aborde una gran necesidad u ofrezca algo diferente e interesante. La gente quiere comprar cosas que aporten algo más a sus vidas. Siempre elegirán la mejor experiencia. El buen marketing es la clave del éxito.

También necesitará soporte de back-end para la administración de su aplicación.

Esto resume más o menos lo que enfrentarás al hacer una (y) aplicación de chat de Android.

Nota : Si está buscando crear una aplicación para su inicio, todos los aspectos técnicos de hacer una aplicación de chat a un lado, debe preguntarse, es su idea realmente vale la pena.

En la actualidad, hay muchas aplicaciones de chat disponibles en el mercado que ofrecen una excelente experiencia de usuario. Estas aplicaciones, como tinder, whatsapp, Fb, cubren y resuelven la mayoría de las principales necesidades de comunicación diaria. ¿Qué va a resolver su aplicación? Tienes que tener claro lo que estás haciendo, y por qué y para quién. Estas cosas importan mucho. Me refiero a mucho mucho. Después de descubrir todo, solo hazlo.

Un número entero en la barra de menú indica cuántos usuarios hay en la sala de chat actual. Si hace clic en ese número here now , se muestra un modal con todos los usuarios en la sala. Al hacer clic en un usuario en el modo herenow se mostrará el tiempo de inicio de sesión del usuario correspondiente.

Al hacer clic en un mensaje en la sala de chat, se enviará un mensaje a ese usuario, notificándole que usted está en la sala de chat.

Funciones y características de chat

Core Chat Messaging

Los mensajes de publicación / suscripción potencian la mensajería central de la aplicación de chat grupal de Android, lo que permite a los usuarios enviar y recibir mensajes en tiempo real.

Cuando un usuario envía un mensaje, el código crea un objeto ChatMessage que contiene el nombre de usuario, el texto del mensaje y la marca de tiempo para el mensaje dado. ChatMessage se serializan en un objeto JSON y se publican a todos los usuarios en el canal actual a través de PubNub.

A continuación, se recibe un mensaje utilizando el método de subscribe de PubNub. El JSONObject se deserializa de nuevo en un ChatMessage y se agrega a una lista de mensajes de la sala de chat actual.

Lista de usuarios en línea / fuera de línea en tiempo real

La presencia potencia nuestra ‘lista de amigos’, una vista en tiempo real de quién está en línea, quién está fuera de línea y actualizaciones en vivo basadas en cambios de estado.

Si un usuario está en línea, se muestra un punto verde junto a su nombre.
Los eventos Join and Leave también se actualizan en tiempo real, por lo que cuando un usuario
cierra la sesión, se le notificará de inmediato.

Presence actualiza el número de usuarios que se encuentran actualmente en una sala, pero cuando desee ver a los usuarios que están actualmente en el chat, hereNow está
usado. Se abre un modal y se llena con los usuarios actualmente
suscrito a la sala de chat. Al hacer clic en un usuario le dirá su
tiempo de inicio de sesión, y el modal se puede descartar haciendo clic en done .

Mensajes históricos

Para almacenar y recuperar mensajes de chat históricos, se utiliza Almacenamiento y reproducción. Cuando un usuario abre la aplicación de chat grupal de Android y se envía a MainChat , o cuando un usuario cambia de sala, se llama a la función de history de PubNub
carga los últimos 100 mensajes del canal actual para que sepa qué
otros usuarios han estado hablando cuando te unes.

Último acceso

La API de estado de PubNub le permite definir datos de estado en el canal actual. Puede adjuntar un objeto a su UUID que sea accesible para cualquier persona en el canal. Esta
La aplicación de chat utiliza la API de estado para adjuntar el tiempo de inicio de sesión a todos los UUID de los usuarios en línea. Cuando se hace clic en un usuario en el modo here now , su tiempo de inicio de sesión se lee desde el estado del canal y se muestra en un mensaje Toast .

Notificaciones push

Habilite las notificaciones push en un canal y adjunte su ID de dispositivo GCM
a ese canal y ya está todo listo para recibir impulsos. Cuando tocas un
mensaje del usuario en una sala de chat, se envía una notificación push de PubNub
a través de protocolos GCM para notificar al usuario que los está esperando.

¡Hazlo tuyo!

Ahora que hemos cubierto los conceptos básicos, lo alentamos a extender esto
tutorial y hazlo tuyo! Por ejemplo, puedes incorporar chat
características de la sala, quizás usando hereNow con un parámetro de canal vacío para mostrar a los usuarios todas las salas de chat activas y sus ocupaciones.

Para hacer esto, necesitará sus propias claves de publicación / suscripción. Para obtener estos, regístrese en una cuenta PubNub, ¡es rápido y fácil! Puede encontrar sus claves únicas de PubNub en el Panel de administración de PubNub.
Luego, habilite y personalice la presencia, el almacenamiento y la reproducción, y
Funciones de notificaciones push. Una vez que haya hecho esto, simplemente reemplace los valores de String para PUBLISH_KEY y SUBSCRIBE_KEY en me.kevingleason.pubnubchat.Constants .

Para habilitar las notificaciones push, deberá registrar su aplicación para GCM. Luego recibirá una clave API que puede usar para habilitar las notificaciones push en el panel de administración de PubNub, así como una identificación del remitente que debe usar para reemplazar el GCM_SENDER_ID en el archivo me.kevingleason.pubnubchat.Constants .

Gracias.

Consulta sobre servicios de desarrollo de aplicaciones móviles – Mobile App Development Company India, iPhone, Desarrollo de aplicaciones web

Correo electrónico en – [correo electrónico protegido]

O contacto en: + 91-96389-89870

Por ejemplo:

“¿Por qué quieres crear una aplicación móvil? ¿Quieres montar la ola de otros empresarios, o te encontraste con un problema que crees que puedes resolver? La respuesta a esta pregunta determinará si tu aplicación será exitosa o no. no.

Aquí hay una guía para comenzar, pero tenga en cuenta que puede no funcionar para todos. Esto se extrae de mi experiencia trabajando durante más de tres años con empresarios, ayudándolos a construir y comercializar sus aplicaciones móviles. Toma lo que mejor se adapte a tu estrategia o síguelo hasta el fondo. La parte importante es comenzar.

Paso 1: Obtén una idea o un problema. Si ya tiene una idea de aplicación, vaya al paso dos. Si no, sigue leyendo. ¿Desea crear una aplicación pero no tiene una idea de la aplicación? Lo que realmente necesitas son problemas, ¡y están en todas partes!

Los empresarios exitosos resuelven problemas de una manera que no podríamos haber imaginado. Cuando miras a tu alrededor, todos los productos y servicios que utilizas se crearon para resolver un problema. Querías ir de un lugar a otro más rápido, tienes un auto. Querías ir de un país a otro más rápido, tienes aviones.

Relacionado: ¿Por qué comenzar en pequeño puede conducir a una mejor aplicación?

Así que busca problemas en tu vida diaria y enumera cada uno de ellos. Una vez que tenga una lista exhaustiva, comience a pensar en cómo puede resolverlos y haga una lista breve de los que tengan más sentido.

Paso 2: Identifica la necesidad. La validación demostrará que existe una demanda para su aplicación. Puede validar su idea utilizando la herramienta Google Keyword Planner para buscar la cantidad de personas que buscan lo que está tratando de hacer. También puede crear una página de destino que destaque ampliamente su idea de aplicación y busque el interés del usuario a través de un registro por correo electrónico.

Paso 3: Diseñe el flujo y las características. La validación de la idea de su aplicación significa que tiene algo que la gente quiere usar. Ahora es el momento de detallar su producto en un documento, o si desea hacer un esfuerzo adicional, use una herramienta de estructura de alambre.

Cuando escriba su idea en papel, recuerde ser lo más detallado posible. Incluya el flujo de cómo el usuario navegará por la aplicación, así como todas las características previstas. Esto ayudará a su desarrollador a comprender claramente sus expectativas.

Paso 4: elimine las funciones no principales. Desde el documento de flujo y características que preparó, comience a observar de cerca las características que puede eliminar. Ofrezca solo el valor central de su idea de aplicación. No cree características en la primera versión que sean “agradables de tener” y que siempre puedan agregarse más tarde como una actualización. Esto ayudará a mantener bajos los costos iniciales de desarrollo y también lo ayudará a llegar al mercado más rápido.

Relacionado: Las claves del éxito de Candy Crush

Paso 5: Poner el diseño primero. He escuchado a muchos emprendedores decir que quieren un diseño muy básico y que solo quieren centrarse en desarrollar una aplicación. ¡Están tan equivocados! El diseño no se trata solo de cómo se ve su aplicación, sino de cómo un usuario la experimentará. Vinod Khosla de Khosla Ventures lo explica mejor: “El diseño es una forma de hacer que la tecnología sea útil”. Así que busque un desarrollador que priorice el diseño (experiencia del usuario y gráficos).

Paso 6: contrata a un diseñador / desarrollador. Busque una empresa de desarrollo que tenga un gran talento de diseño y un equipo de desarrollo sólido. Mientras contrata a un desarrollador, conéctese en línea para verificar su credibilidad y las aplicaciones que ha creado. Si realmente le gustó una aplicación que crearon a partir de su cartera, lo más probable es que podría ser la correcta para su producto.

Paso 7: crear cuentas de desarrollador. Debe registrarse para obtener una cuenta de desarrollador en las respectivas tiendas de aplicaciones para poder vender su aplicación a través de su plataforma. El Android de Google cobra $ 25 al año y Apple cobra $ 99 al año. Tiene la opción de registrarse como individuo o como empresa, si ya tiene uno formado.

Paso 8: integrar análisis. Analytics lo ayuda a rastrear descargas, participación y retención de usuarios para su aplicación móvil. Asegúrese de utilizar herramientas como Flurry, que está disponible de forma gratuita, y Localytics, que tiene una versión gratuita y de pago.

Paso 9: Obtenga comentarios rápidamente e improvise. Una vez que su aplicación se active en la tienda de aplicaciones, el primer conjunto de uso y comportamiento de los clientes le dará una idea de cómo mejorar y mejorar su aplicación. Las mejoras y los cambios son constantes, así que esté atento a los comentarios de los usuarios y siga construyendo.

Paso 10: Introducir características. Usted construyó la versión uno con características limitadas y solo la oferta principal. Ahora es el momento de evaluar e introducir las características restantes que quedaron fuera en la versión inicial. A través de análisis y comentarios, sabrá si las características ya son relevantes.

Estos pasos no son sacrosantos, sino más bien una guía para construir su aplicación de la manera más efectiva basada en mi experiencia. Una vez que esté listo para comenzar, también debe saber que crear una aplicación móvil es la parte más fácil. Conseguir clientes es donde radica el desafío “.

Más:

Cómo desarrollar el curso en línea de aplicaciones de Android

Desarrollo de aplicaciones de chat móvil

Cómo construir un chat de Android como Whatsapp para principiantes absolutos

Hola. Si está buscando una buena solución de chat en la aplicación, le sugiero que eche un vistazo a 360Mobi por Customer360. Ofrece un SDK de chat bien desarrollado y personalizable para dispositivos Android.

Estas son algunas de las características ofrecidas por 360Mobi que pueden resultarle útiles.


Chat en la aplicación: los usuarios de la aplicación pueden enviar comentarios y chatear desde la aplicación móvil.

Formularios personalizables: los formularios previos al chat se pueden modificar para recopilar solo la información más relevante.

Experiencia perfecta: la intuitiva UI y UX proporciona a los usuarios una experiencia similar a la de un mensajero.

Soporte de Rich Media: los usuarios pueden enviar capturas de pantalla y compartir archivos en múltiples formatos, como .pdf, .doc, etc.

Perfil de usuario: Obtenga acceso fácil a los detalles de contacto de los usuarios y a la información del dispositivo, como el modelo del dispositivo, la compilación, la versión del sistema operativo, la ubicación geográfica, la información de red, etc.

Notificaciones en tiempo real: el recuento de notificaciones ayuda a informar a los usuarios de la aplicación sobre cualquier respuesta o actualización sin interrumpir su experiencia en la aplicación.

Satisfacción del cliente: realice un seguimiento de los niveles de satisfacción de los usuarios de aplicaciones móviles e invítelos a presentar sus comentarios a través del chat en vivo.

Marca: las características de personalización avanzadas permiten crear una apariencia que está en alineación con el diseño de la aplicación.


Si te gustó lo que acabas de leer, te sugiero que pruebes 360Mobi. Regístrese con nosotros ahora para obtener una experiencia de primera mano de todas las características que tiene para ofrecer.

Descargo de responsabilidad : soy especialista en participación del cliente en Customer360 y recomiendo este producto.

Antes de crear una aplicación de chat, se debe preparar un plan básico o arquitectura antes, como se muestra en el ejemplo a continuación, que ayuda a facilitar aún más el flujo. Lo más importante es elegir las tecnologías de aplicación móvil de chat correctas que deben implementarse.

  • Servidor Ejabberd
  • Lenguaje erlang
  • Protocolo XMPP
  • Mnesia y Mysql para la gestión de bases de datos
  • Almacenamiento de archivos multimedia usando el servidor de almacenamiento YAWS
  • FreeBSD como sistema operativo

La siguiente fase está planeando desarrollarse con las características necesarias que ayudan de muchas maneras más en el proceso de comunicación. Elija las funciones correctas que más se necesitan en la aplicación de chat, que a su vez se puede utilizar en todos los campos. Hay muchas soluciones de mensajería instantánea que ayudan a construir una aplicación de chat en tiempo real con las tecnologías adecuadas con las características personalizables deseadas.

En julio, ofrecemos un conjunto completo de servicios de diseño y desarrollo. Lea algunos de nuestros casos de estudio interesantes y póngase en contacto con nosotros para crear una aplicación móvil que supere las expectativas de los usuarios.

Encontrará diferentes compañías de servicios que ofrecen diferentes estructuras de costos para el desarrollo de aplicaciones móviles. Algunos se centran en el trabajo de desarrollo de calidad, mientras que otros se centran en el desarrollo rápido y descuidado de bajo costo. La decision es tuya.

Probar una aplicación de chat básica en Android no es muy difícil. Primero debe seleccionar un backend donde almacenará los datos.

Al igual que PHP y MySQL, puedes utilizar cualquier tecnología. Y para enviar notificaciones push al dispositivo Android cuando la aplicación no se está ejecutando, puede usar Google Cloud Messaging o Firebase Cloud Messaging.

Ahora diseñe la base de datos y su aplicación. He encontrado este detallado tutorial de dos partes que cubre la creación de una aplicación básica de chat de Android en detalle.

Parte 1: Crear aplicación de chat para Android Parte 1

Parte 2: Crear aplicación de chat para Android Parte 2

El tutorial está bien explicado y es fácil de hacer una aplicación de chat muy básica. Y está utilizando Google Cloud Messaging para notificaciones push y PHP y MySQL para el lado del servidor.

Espero que esto ayude. Gracias 🙂

Usar Google Firebase para crear una aplicación de chat es la mejor manera de aprender algunas cosas. Solo pasé 1 semana para lanzar una aplicación de chat de muestra. Puede consultar la aplicación de chat avanzada para dispositivos Android usando Firebase ( hieuapp / android-firebase-chat )

Característica

1. Iniciar sesión, cerrar sesión, registrarse.

  • Registrarse: permitir al usuario registrar una nueva cuenta con nombre de usuario y contraseña
  • Iniciar sesión: el usuario debe iniciar sesión con nombre de usuario y contraseña para usar la aplicación.
  • Olvidé mi contraseña: conéctese al servicio Firebase para restablecer la contraseña.
  • Editar perfil: cambie la imagen del avatar, edite el nombre de usuario.

2. Chat, chat grupal

  • Chatea con un amigo: agrega un amigo, unfriend, envía un mensaje de texto.
  • Chatee en grupo: cree un grupo, agregue miembro, miembro inicial, elimine grupo y cambie el nombre.

3. Notificación

  • Notificación de inserción en la barra de estado cuando tiene un nuevo mensaje.

La nube de GCM ayudaría solo si el número de usuarios de la aplicación que va a crear será pequeño. Cuando se trata de acomodar cualquier número de usuarios concurrentes, OpenFire o eJabberd son mejores opciones para elegir.

Ambos tienen todas las infraestructuras necesarias creadas para acomodar las características de una aplicación de chat de mensajería instantánea / en tiempo real. OpenFire está desarrollado en Java y ejabberd está en Erlang. Erlang es de código abierto y las posibilidades de personalización de acuerdo con sus requisitos son mayores.

Para saber cómo funciona una aplicación basada en ejabbered como Whatsapp, le sugiero que eche un vistazo a esto.

Funcionalidad de Whatsapp y crear una aplicación de clonación de Whatsapp

Trabajo para una empresa de desarrollo a medida que se especializa en aplicaciones de mensajería instantánea. Todas las respuestas a continuación son correctas y muy completas, por lo que pensé en proporcionar un punto de vista diferente.

La mayoría de los siguientes citan XMPP para crear una aplicación de mensajería instantánea, encontrar tutoriales básicos para aprender los conceptos básicos antes de construir un chat básico. Luego construye tu chat desde allí. Hay varios problemas con este método:

  • Tiempo: el desarrollo de una aplicación de chat desde cero probablemente demorará de 3 a 6 meses a tiempo completo. Si esto es un pasatiempo y puede dedicar 2 horas al día en su tiempo libre, esto llevará de 1 a 2 años. Esto me parece poco realista.
  • Dificultad: para desarrollar un chat con XMPP necesita dominar Android (o iOS), XMPP y luego entender la codificación de su servidor personalizado. Este es un gran objetivo para establecerse.

Estoy completamente de acuerdo en que trabajar en un proyecto es la mejor manera de aprender, pero también siento que los proyectos deben ser manejables, de lo contrario no son realmente alcanzables.

Yo recomendaría lo siguiente:

  1. Descargue un chat de Android de código abierto: gran parte de la complejidad de desarrollar un componente de chat es la estructura del código y la base de datos. La descarga de un chat en funcionamiento le permite ver cómo funciona para entenderlo.
  2. Desarrolle una aplicación alrededor del chat: tiene dificultades con Android Studio. Esto debe solucionarse primero y la mejor manera de hacerlo es construir un proyecto simple y luego aumentar la dificultad. Esto también te da una aplicación para lanzar al final de todo.
  3. Personalice el chat: agregar nuevas funciones al chat requiere una buena comprensión de cómo funciona. ¿Cómo funcionan los sistemas actuales? ¿Cómo puedes replicarlos o mejorarlos? Por ejemplo, agregue nuevos tipos de mensajes (video o audio), agregue indicadores de escritura o lea recibos. Agregar estos aumentará significativamente su comprensión de la mensajería instantánea.
  4. Modifique el chat para usar XMPP: tiene un chat en funcionamiento que ahora desea modificar nuevamente. Esta vez reemplazará el código del servidor normal con el código XMPP. Cada vez puede ver lo que hace actualmente y luego investigar el código XMPP apropiado requerido.

La razón es un mejor enfoque ya que cada paso se divide en partes manejables. Cada sección le permite tener un proyecto en funcionamiento en lugar de requerir meses de trabajo antes de que su aplicación se una.

Sugiero este enfoque porque mi compañía ha desarrollado y lanzado repositorios git de código abierto para Android e iOS. Se publican con una licencia MIT, lo que significa que puede liberar o modificar el código completamente gratis. He estado trabajando con ellos durante los últimos 3 años y he encontrado que es una excelente manera de mejorar la codificación y al mismo tiempo tener objetivos que alcanzar. Trabajar con ellos ha aumentado significativamente mi conocimiento de la mensajería instantánea. También tenemos documentación detallada disponible, lo que significa que tiene una referencia para ver cómo funcionan cosas como la autenticación del servidor y el inicio de sesión.

Tenga en cuenta que las aplicaciones de chat son extremadamente complicadas. Comenzar a desarrollar uno desde cero es una tarea enorme y, por lo general, el tiempo y el esfuerzo no merecen la recompensa.

Creo que desea crear una aplicación de mensajería instantánea como WhatsApp, Viber, WeChat, etc. Hay muchas empresas de desarrollo de aplicaciones móviles que prestan servicios profesionales en la creación de aplicaciones de chat. Pero elegir lo mejor de ellos, o uno que se adapte a sus preferencias de costo y servicio no es una caminata fácil. Hay varios factores a tener en cuenta.

En primer lugar, debe tener una idea clara de lo que debe hacer la aplicación y cómo marcará la diferencia en comparación con muchas otras aplicaciones de mensajería instantánea.

  • El desarrollo personalizado es una buena opción si tiene muchas personalizaciones para realizar.
  • Por otro lado, recomendaré optar por una solución preparada que haga lo mismo sin mucho alboroto.

Tecnologías que se utilizan para crear una aplicación de chat de Android:

  • Servidor : servidor Ejabberd, YAWS
  • Lenguaje de programación : Erlang
  • Protocal : XMPP
  • Gestión de bases de datos : Mnesia y MySQL
  • Sistema operativo : freebsd.

Apphitect ofrece una solución lista para usar que le ayudará a crear aplicaciones de chat para Android desde cero sin ningún problema. De hecho, también puede usar para crear aplicaciones de mensajería instantánea para iOS y Windows.

Hay XMPP del que todos han hablado, GCM (definitivamente no lo recomiendo). También me gustaría agregar uno de mis MQTT favoritos.

MQTT utiliza un modelo Pub / Sub, un cliente se suscribe a un tema determinado, cuando publica en ese tema la carga útil se envía al cliente. Es muy liviano, muy rápido y consume menos recursos, esto incluye menos batería, por ejemplo, en mi última aplicación de chat, podría chatear durante una hora enviando cientos de mensajes y la aplicación ni siquiera aparecerá en la aplicación de monitoreo de batería de Android, y siempre deje el servicio conectado al servidor todo el tiempo en segundo plano.

En Android hay una biblioteca cliente llamada Paho, podría tomarle una o dos horas para entender cómo funciona, crear un servicio único para manejar todas las conexiones lógicas, boom. Está listo, hay muchas opciones de servidor, solo instale y ajustar para satisfacer sus necesidades o, en su caso, puede encenderlo como está, todavía funciona bien, puede recibir no solo mensajes sino también notificaciones automáticas y es muy rápido.

Verá la gran ventaja de este modelo de pub / sub, especialmente cuando está haciendo un chat grupal donde cada miembro se suscribe a un solo tema, por ejemplo, nombre o identificación del grupo, y todos los mensajes se envían a todos muy rápido.

Pros

  • Fácil de configurar
  • Probablemente el más ligero.
  • En tiempo real rápido

Contras

  • En su mayoría, hará el almacenamiento de datos del lado del cliente, definitivamente es posible almacenar todos los mensajes en el servidor, pero deberá profundizar un poco para que suceda.
  • Para cargas útiles muy grandes, por ejemplo, el video definitivamente recomienda subirlo a un sitio como AmazonS3 y luego enviar el enlace a través de mqtt en lugar de hacerlo directamente a través de mqtt, una foto puede estar bien.
  • En comparación con XMPP, es posible que deba implementar alguna lógica usted mismo, por ejemplo, notificar que el mensaje ha sido recibido por el cliente, leer, el cliente está en línea, aunque es muy fácil hacerlo.

La comunicación en tiempo real juega un papel vital en el desarrollo de aplicaciones de mensajería. Diseñar una aplicación de chat de Android por su cuenta se vuelve más fácil.

Métodos para desarrollar una aplicación de chat de Android:

  • Rasguño / Personalizado
  • Solución confeccionada

El método Scratch es un proceso de mucho tiempo y ofrece más complejidad. Para superar la mejor solución es preferir una solución preparada.

Contus Fly es la mejor solución instantánea que ayuda a crear fácilmente una aplicación de chat en tiempo real. Viene con excelentes características avanzadas: canales individuales a múltiples, actualizaciones en tiempo real y notificaciones sin conexión, transmisión de archivos multimedia, uso compartido de ubicaciones, llamadas de voz y video, indicador de presencia en línea, etc.

Las tecnologías de backend utilizaron Ejabberd, Erlang, XMPP, Mnesia y MySQL, FreeBSD .

Las funciones de las tecnologías anteriores son:

  • Servidor Ejabberd: se utiliza para alojar una gran red de comunicación.
  • Erlang – Lenguaje de programación.
  • XMPP: protocolo de comunicación más adecuado para el servidor Ejabberd.
  • FreeBSD: SO altamente estable con funciones avanzadas de red, seguridad y almacenamiento.
  • Mnesia & MySQL – Sistema de gestión de bases de datos.

Crear una aplicación de chat para Android no debería ser tan difícil. Una buena búsqueda en Google te da estos resultados, donde te lo estoy facilitando

pfleidi / yaxim
Chat de Android con Google GCM XMPP – Tutorial de Java
Cliente XMPP actualizado para Android

Y si alguna vez se encontró con TELEGRAM, su código de cliente completo es de código abierto. Y confían completamente en GCM para los mensajes push.

Código fuente de Telegram

Estos programas de código abierto deberían ser suficientes para comenzar

Cuando comienzas con Gradle, puede parecer más difícil, pero con el tiempo te ahorrará mucho tiempo, a veces te hará la vida imposible, pero vale la pena 🙂

Si tiene problemas con Android Studio, podría ser una buena idea usar algunas de las aplicaciones de muestra dentro de Android Studio. Puede encontrarlo Archivo-> Importar muestra

Cuando configura GCM dentro de Gradle, solo necesita seguir el tutorial

Configurar una aplicación de cliente GCM en Android

Prueba Cloud Messaging para Android

Y recuerda que tienes dos archivos gradle, uno es el archivo gradle de tu proyecto que tendrá algo como esto

dependencias {
classpath ‘com.android.tools.build:gradle:2.0.0’
classpath ‘com.google.gms: google-services: 2.1.0’
}

Y el otro es el archivo gradle del módulo de la aplicación, esto es específico para su módulo y dentro de él tendrá algo como esto

dependencias {
compile fileTree (incluya: [‘* .jar’], dir: ‘libs’)
compile ‘com.google.android.gms: play-services: 8.3.0’
}

Para el desarrollo del chat, recomendaría WebRTC, comenzó como una alternativa de comunicación web en tiempo real, pero ahora puede portarlo en Android e iOS. Para WebRTC, puede tener un servidor de señalización simple (si está desarrollando solo con fines de aprendizaje, para el uso en la vida real también necesita tener un servidor TURN). Y también es fácil crear una aplicación de chat de video con él. También puedes encontrar aplicaciones de ejemplo en GitHub.

WebRTC Inicio | WebRTC

XMPP y Firebase han abierto varias oportunidades para que los desarrolladores creen aplicaciones de chat en tiempo real que sean sólidas, estables y extensibles. Además, XMPP admite todas las formas de multimedia, incluidos texto, audio y video.

No se puede decir que Firebase de Google tenga todas las características de alto vuelo que promete XMPP.

Google Firebase y XMPP

Contus Fly se puede utilizar como una API de mensajería preconstruida que se puede integrar en el backend de un sitio web, tienda de comercio electrónico, aplicación móvil, red social, etc. para permitir la comunicación en tiempo real con funciones ampliadas.

La api de la aplicación de chat Contus Fly facilita la creación de una aplicación de mensajería instantánea desde cero menos el esfuerzo de codificación y desarrollo.

Por ejemplo:

Introducción

La comunicación de mensajería instantánea (IM) se realiza mediante el uso del protocolo de mensajería y presencia extensible (XMPP) (también conocido como Jabber), un protocolo de comunicación de mensajería basado en XML estándar abierto.

La mayoría de los clientes de mensajería instantánea utilizan el protocolo XMPP para la comunicación. Google es uno de los clientes que usa XMPP para su producto Google Talk.

Hay varias bibliotecas de terceros disponibles para desarrollar aplicaciones cliente de mensajería instantánea. Una de las bibliotecas de cliente XMPP más populares es Smack API, que es una biblioteca Java pura que permite a los desarrolladores crear clientes de mensajería instantánea. A continuación se muestra un tutorial sobre cómo crear una aplicación de chat simple utilizando la API de Smack.

Antes de comenzar a desarrollar y explorar algunas de las características de Smack API, se solicita a los desarrolladores que revisen la documentación técnica y la documentación de API de Smack API (última versión 3.2.2 en este momento de desarrollo de este artículo)

SmackAPI

La API de Smack es una biblioteca pura de Java. La biblioteca de terceros asmack ha parcheado fuertemente la API de Smack para que funcione con Android. Para obtener más información, visite el hilo de la comunidad de Smack API.

Las bibliotecas están disponibles en la siguiente sección:

  • descargar – asmack

Descargue el archivo jar de la biblioteca asmack con la convención de nomenclatura asmack- .jar, donde es la fecha de lanzamiento. Agréguelo a la carpeta lib de su proyecto.

La aplicación de chat de muestra hace lo siguiente:

  • Se conecta a un servidor GTalk
  • Inicia sesión en el servidor GTalk
  • Establece la presencia del usuario
  • Obtiene listas
  • Envía mensajes
  • Recibe mensajes

Conectando a un servidor

En este documento, Google Talk Server se utiliza para el desarrollo de una aplicación de chat de muestra.

La conexión al servidor XMPP requiere conocer los parámetros de configuración establecidos por el servidor XMPP.

Los siguientes son los parámetros de configuración necesarios para conectarse al servidor GTalk:

Sourse:

http://developer.samsung.com/tec

Aplicación de chat simple (cliente-servidor) en Android

Lea también:

http://tecsynt.com/blog/mobile_c

Tutoriales:

Cree una aplicación de chat de Android con Pusher – Pusher Blog

Video tutorial:

Tutorial simple de la aplicación de chat de Android con integración de Parse

La opción más simple y rápida es usar una solución BaaS como back4app, Firebase …

Puede crear su estructura de chat y en minutos tendrá una API Rest para usar. Después de eso solo se codifica tu APP.

Descargo de responsabilidad: soy cofundador de back4app.

Para empezar, necesitará tener un servidor y un servidor. Pero antes de eso, te aconsejaría que aprendas los conceptos básicos de Android si aún no lo has hecho, incluido aprender un poco de Gradle y Studio.

Ahora, aquí hay una aplicación simple con la que puedes comenzar tu sueño de hacer una aplicación de chat con:

Aplicación Android Building Group Chat usando Sockets – Parte 1