Quelle bibliothèque XMPP serait le meilleur choix de nos jours pour le développement Android?
J'ai utilisé la bibliothèque Smack corrigée comme cela est suggéré dans de nombreuses autres questions ici dans SO. Cependant, il s'agit d'une version corrigée de l'API Smack d'il y a deux ans. Et bien que cela fonctionne généralement bien, j'explore d'autres options plus récentes.
J'ai regardé l' API officielle Smack et après quelques recherches, il semble que cela fonctionne très bien de nos jours (bien que je ne l'ai pas encore essayé dans une application réelle).
Il y a aussi une autre solution que j'ai rencontrée, la bibliothèque aSMACK de Beem . Beem est un client XMPP assez récent pour Android et d'après ce que j'ai compris, ils utilisent leur propre version corrigée de aSMACK.
Enfin, il y a aSMACK mais cela n'a pas non plus été mis à jour depuis un certain temps (comme le suggère le site).
Avez-vous d'autres suggestions ou pouvez-vous expliquer pourquoi je devrais choisir l'une des options ci-dessus plutôt que les autres?
Réponses:
Claque
Smack est une bibliothèque cliente XMPP open source. Depuis la version 4.1, il fonctionne nativement sur Android. Pour plus d'informations, consultez le "Lisez-moi Smack 4.3" et consultez la page du projet Smack sur Ignite Realtime .
la source
Je suis récemment tombé sur une autre solution open-source: jaxmpp2
jaxmpp2 cible également Android (et Java SE). Je ne peux vraiment rien dire d'autre à ce sujet, car je n'utilise pas jaxmpp2 dans mes projets Android / XMPP. Mais cela ressemble à une alternative valable à aSmack .
la source
Utilisez qsmack pour Android
https://code.google.com/p/qsmack/downloads/list
C'est la dernière version pour Android
J'ai travaillé sur une discussion individuelle, une discussion de groupe, un transfert vidéo, un transfert audio, une dernière vue, un changement de numéro d'enregistrement ... J'ai créé de nombreux plugins sur openfire
la source
Je voudrais utiliser libstrophe et jni. Les objectifs d'utilisation sont multiplateformes, simples à utiliser et performants. libstrophe est écrit en c donc, il est facile d'écrire un makefile android puisque la dépendance est seulement openssl et expat lib. Dans mon cas, j'utilise openssl et expat lib de libjingle qui sont déjà portés sur android et ios. (Il suffit de porter le fichier gyp vers le makefile android ou le projet IOS).
Ci-dessous mon makefile android
la source
Vous pouvez utiliser la bibliothèque client Tigase JaXMPP - elle est très polyvalente et vous pouvez l'utiliser pour les applications JavaSE ainsi que pour votre développement Android. Il est activement développé et Tigase Messenger pour Android ( Play Store ) est basé sur celui-ci.
Il existe une page wiki de documentation de la bibliothèque de base avec quelques exemples et pour plus de détails, vous devez vous référer à javadocs
la source
Utilisation du fichier Lisez-moi et du guide de mise à niveau de Smack 4.1
En utilisant Android studio 2.3, j'ai récemment implémenté une démo d'une manière très simple.
-> Ajoutez simplement une dépendance de gradle dans le gradle de niveau de l'application comme ci-dessous
-> Configurer la configuration de la connexion
REMARQUE : appelez ceci dans AsyncTask ou dans un autre thread d'arrière-plan
-> Utiliser
isConnected()
etisAuthenticated()
-> Utiliser
ChatManager
pour ajouterchatListener
.la source
Vous pouvez utiliser QuickBlox1 gratuitement.
Il fournit un serveur XMPP prêt à l'emploi avec de nombreuses fonctionnalités, vous pouvez en savoir plus sur les fonctionnalités ici http://quickblox.com/developers/Chat
Voici un exemple comment commencer à utiliser QuickBlox avec la bibliothèque aSmack http://quickblox.com/developers/Android_XMPP_Chat_Sample
la source