QNA > C > Come Creare Un'applicazione Di Base Di Chat Per Android Usando Android Studio E Qual È Un Punto Di Partenza Appropriato Per Farlo

Come creare un'applicazione di base di chat per Android usando Android Studio e qual è un punto di partenza appropriato per farlo

C'è XMPP di cui tutti hanno parlato, GCM (sicuramente non raccomandando questo). Vorrei anche aggiungere uno dei miei preferiti MQTT.

MQTT utilizza un modello Pub/Sub, un client si iscrive a un certo argomento, quando si pubblica su quell'argomento il payload viene spinto al client. È molto leggero, molto veloce, e consuma meno risorse, questo include meno batteria, ad esempio nella mia ultima app di chat, potrei chattare per un'ora inviando centinaia di messaggi e l'app non appare nemmeno nell'app di monitoraggio della batteria di Android, e lascio sempre il servizio collegato al server per tutto il tempo in background.

In Android c'è una libreria client chiamata Paho, si potrebbe impiegare un'ora o due per capire come funziona, creare un servizio singleton per gestire tutta la logica delle connessioni, boom Sei pronto ad andare, ci sono anche molte opzioni di server, basta installare e modificare in base alle tue esigenze o nel tuo caso puoi semplicemente accenderlo come è, funziona ancora bene, puoi ricevere non solo messaggi ma anche notifiche push ed è molto veloce.

Vedrai il grande vantaggio di questo modello pub/sub specialmente quando stai facendo una chat di gruppo dove ogni membro si iscrive ad un singolo argomento, ad esempio il nome o l'id del gruppo e tutti i messaggi vengono inviati a tutti molto velocemente.

Pros

  • Facile da configurare
  • Probabilmente il più leggero
  • Veloce in tempo reale

Cons

  • Si fa per lo più la memorizzazione dei dati lato client, è sicuramente possibile memorizzare tutti i messaggi nel server ma si dovrà scavare un po' in profondità per farlo accadere.
  • Per payloads molto grandi, ad esempio video, raccomando sicuramente di caricare su un sito come AmazonS3 e poi inviare il link tramite mqtt piuttosto che farlo direttamente tramite mqtt, una foto può andare bene.
  • Paragonato a XMPP potresti aver bisogno di implementare tu stesso qualche logica, ad esempio notificare che il messaggio è stato ricevuto dal client, letto, il client è online, è molto facile da fare questo però.

Di Myrtice Aasby

Come creare un accurato radar meteorologico in casa :: Come "lanciare" un'app mobile basata sulla posizione città per città se è già sull'app store
Link utili