Która biblioteka XMPP byłaby obecnie najlepszym wyborem do tworzenia aplikacji na Androida?
Używam z poprawioną bibliotekę Smack jak sugeruje się w wielu innych kwestiach, o tutaj. Jest to jednak poprawiona wersja Smack API sprzed dwóch lat. I chociaż generalnie działa dobrze, badam inne, nowsze opcje.
Patrzyłem na oficjalne Smack API i po krótkich badaniach wydaje się, że obecnie może działać dobrze (chociaż nie próbowałem go jeszcze w prawdziwej aplikacji).
Jest też inne rozwiązanie, z którym się spotkałem, biblioteka aSMACK firmy Beem . Beem to całkiem nowy klient XMPP dla Androida iz tego, co rozumiem, używa własnej poprawionej wersji aSMACK.
Wreszcie jest SMACK, ale to też nie było aktualizowane od dłuższego czasu (jak sugeruje strona).
Czy masz inne sugestie lub możesz wyjaśnić, dlaczego powinienem wybrać jedną z powyższych zamiast pozostałych?
Odpowiedzi:
Uderzyć
Smack to biblioteka klienta XMPP typu open source. Od wersji 4.1 działa natywnie na Androida. Aby uzyskać więcej informacji, zajrzyj do „Smack 4.3 Readme” i odwiedź stronę projektu Smack w Ignite Realtime .
źródło
Niedawno natknąłem się na inne rozwiązanie open source: jaxmpp2
jaxmpp2 jest również przeznaczony dla systemu Android (i Java SE). Nie mogę powiedzieć nic więcej na ten temat, ponieważ nie używam jaxmpp2 w moich projektach Android / XMPP. Ale wygląda na to, że jest to dobra alternatywa dla aSmack .
źródło
Użyj Qsmack na Androida
https://code.google.com/p/qsmack/downloads/list
To najnowsza wersja na Androida
Pracowałem nad rozmową indywidualną, czatem grupowym, przesyłaniem wideo, przesyłaniem dźwięku, ostatnio widziałem, zmianą numeru rejestracyjnego ... prawie ukończona aplikacja whats. Stworzyłem wiele wtyczek na Openfire
źródło
Chciałbym używać libstrophe i jni. Cele korzystania z tego są wieloplatformowe, proste w użyciu i wydajne. libstrophe jest napisane w c, więc łatwo jest napisać plik makefile dla Androida, ponieważ zależność dotyczy tylko openssl i expat lib. W moim przypadku używam openssl i expat lib z libjingle, które już przenoszą się na Androida i iOS. (Wystarczy przenieść plik gyp do pliku makefile Androida lub projektu IOS).
Poniżej znajduje się mój plik makefile Androida
źródło
Możesz użyć Tigase JaXMPP Client Library - jest bardzo wszechstronna i możesz jej używać zarówno do aplikacji JavaSE, jak i do programowania na Androida. Jest aktywnie rozwijany, a Tigase Messenger dla Androida ( Sklep Play ) jest na nim oparty.
Istnieje strona wiki dokumentacji biblioteki Basic z kilkoma przykładami, a po szczegóły należy odwołać się do javadocs
źródło
Za pomocą Smack 4.1 Readme i przewodnik aktualizacji
Korzystając z Android Studio 2.3, ostatnio w bardzo prosty sposób zaimplementowałem demo.
-> Po prostu dodaj zależność gradle w gradle poziomu aplikacji, jak poniżej
-> Konfiguruj konfigurację połączenia
UWAGA : Wywołaj to w AsyncTask lub w innym wątku w tle
-> Użyj
isConnected()
iisAuthenticated()
-> Użyj
ChatManager
dla dodatkuchatListener
.źródło
Możesz używać QuickBlox1 za darmo.
Dostarcza serwer XMPP po wyjęciu z pudełka z wieloma funkcjami, o których możesz przeczytać tutaj http://quickblox.com/developers/Chat
Oto przykład, jak zacząć używać QuickBlox z biblioteką aSmack http://quickblox.com/developers/Android_XMPP_Chat_Sample
źródło