2011-07-26 9 views
6

Zrobiłem krótki przegląd strony xmpp.org i przeczytałem wszystkie rzeczy związane z archiwizacją wiadomości (protokół XEP-0136). Po przeczytaniu całego dokumentu nadal nie otrzymuję dokładnego sposobu na rozpoczęcie implementacji tych rzeczy w mojej aplikacji na Androida. Każdy tutaj może mi pomóc, w jaki sposób możemy zaimplementować, uzyskać dostęp do archiwum wiadomości po stronie klienta. Korzystam z tej biblioteki w mojej aplikacji.W jaki sposób możemy uzyskać dostęp do wiadomości archiwalnych w aplikacji Android z serwera xmpp

+0

Prawdopodobnie chcesz używać XEP-0313 w tych dniach, a nie XEP-0136. – Flow

Odpowiedz

2

Najpierw upewnij się, że twój serwer implementuje XEP-0136. Wielu nie.

Następnie należy utworzyć własną podklasę IQ. Zobacz przykład OfflineMessageRequest. Potrzebujesz modułów pobierających i ustawiających dla wszystkich podelementów protokołu archiwizacji.

Penultimately, zarejestruj swój program obsługi IQ pod numerem ProviderManager.addIQProvider.

Wreszcie, napisz klasę kontrolera, która wysyła IQ, czeka na wyniki i przetwarza semantykę protokołu. Zobacz przykład OfflineMessageManager dla przykładu z XEP-0013 podobnego do tego, co chcesz.

+0

naprawdę dziękuję Joe .. twoja odpowiedź jest dla mnie bardzo pomocna, a my już implementujemy XEP-0136 na naszym serwerze. Teraz spróbuję zaimplementować dostęp do archiwizacji wiadomości, ponieważ sugerujesz mi po stronie klienta w mojej aplikacji na Androida. Jeśli możesz odesłać mi jakiś link lub podać mi snipt kod, skąd otrzymam dokładny sposób logiki, aby zaimplementować go w moim kodzie, więc jest to dla mnie bardzo korzystne. Patrzę pozytywnie na szybką i pozytywną odpowiedź z twojej strony ... jeszcze raz dziękuję za odpowiedź. – sumeet

+0

hello Joe, próbuję także według twojej sugestii, ale wciąż mam do czynienia z trudnymi problemami z dokładną implementacją. Czy możesz mi udostępnić fragment kodu bitowego? Mam nadzieję, proszę, pomóż mi. – sumeet

+0

@sumeet - Spróbuj spojrzeć na to źródło, ponieważ jest to dość prosty przykład http://fisheye.igniterealtime.org/browse/smack/trunk/source/org/jivesoftware/smackx/search?r=7071&r=9227&r=11613. W zależności od złożoności analizowania sekcji w dostawcy, możesz również użyć narzędzia EmbeddedExtensionProvider http://fisheye.igniterealtime.org/browse/smack/trunk/source/org/jivesoftware/smackx/provider/EmbeddedExtensionProvider.java ? hb = true – Robin