2011-07-26 7 views
6

xmpp.orgのウェブサイトについて簡単に説明し、メッセージアーカイブに関するすべてのこと(XEP-0136プロトコル)を読んでいます。すべてのドキュメントを読んだ後も、私はAndroidアプリケーションへの実装を開始する正確な方法が得られていません。 ここで私はどのように私たちを実装することができます、クライアントの手でメッセージアーカイブのアクセスを助けることができます。私は私のアプリケーションでこれのためにsmackライブラリを使用しています。xmppサーバからアンドロイドアプリケーションにアーカイブメッセージにアクセスするにはどうすればいいですか

+0

最近、XEP-0136ではなく、XEP-0313を使用することをお勧めします。 – Flow

答えて

2

まず、サーバーにXEP-0136が実装されていることを確認します。多くはしません。

次に、IQの独自のサブクラスを作成したいと思うでしょう。例については、OfflineMessageRequestを参照してください。アーカイブプロトコルのすべてのサブ要素のゲッターとセッターが必要です。

最後に、IQハンドラをProviderManager.addIQProviderで登録してください。

最後に、IQを送信し、結果を待ってプロトコルのセマンティクスを処理するコントローラクラスを作成します。 XEP-0013の例については、OfflineMessageManagerを参照してください。

+0

本当に感謝ジョー..あなたの返信は本当に私にとっては非常に便利です、我々はすでに私たちのサーバーでXEP-0136を実装しています。今、あなたは私のアンドロイドアプリケーションにクライアント側で私を示唆するようにメッセージアーカイブのアクセスを実装しようとします。あなたが私にリンクを紹介したり、コードsniptを提供したりすることができれば、私のコードでそれを実装するロジックの正確な方法がどこから得られるのでしょうか。私はあなたの側から迅速かつ肯定的な返信を積極的に探しています...返信のおかげでもう一度。 – sumeet

+0

こんにちはジョー、私はあなたの提案にも従っていますが、それでも私は正確な実装では困難な問題に直面しています。私と少しのコードスニペットを共有できますか?私はうまくいけば、私を助けてください探しています。 – sumeet

+0

@sumeet - このソースはかなり簡単な例ですので、http://fisheye.igniterealtime.org/browse/smack/trunk/source/org/jivesoftware/smackx/search?r=7071&r=9227&r=11613を参照してください。スタンザの解析がプロバイダー内でどのくらい複雑になるかに応じて、EmbeddedExtensionProviderを使用することもできます。http://fisheye.igniterealtime.org/browse/smack/trunk/source/org/jivesoftware/smackx/provider/EmbeddedExtensionProvider.java ?hb = true – Robin

関連する問題