2017-09-27 10 views
2

この質問はherehereの前に聞かれますが、回答は得られません。 私はpubsubとxmppを使っているアプリケーションを開発しています。アンドロイドのために私はsmackライブラリを使っています。カスタムペイロードをノードに送信し、カスタムペイロードを受け取って、解析してリストに表示する方法を教えてください。今私はメッセージを送受信することができますが、それはドキュメントの小さな例です。ここに私の例があり、pubsub xmpp smackライブラリのカスタムペイロードの公開方法とパース方法

String msg = "room pubsub test"; 

SimplePayload payload = new SimplePayload("message", "pubsub:test:message", "<message xmlns='pubsub:test:message'><body>" + msg + "</body></message>"); 

PayloadItem<SimplePayload> item = new PayloadItem<>(null, payload); 

node.publish(item); 

とするとき、私はアイテム

node.addItemEventListener(new ItemEventListener() { 
      @Override 
      public void handlePublishedItems(ItemPublishEvent items) { 
        System.out.println("======================handlePublishedItems=============================="); 
        System.out.println(items.getItems()); 
      } 
} 

を受け取り、私は取得しています出力は私がした時刻のようなカスタムペイロードを送信したい

[org.jivesoftware.smackx.pubsub.PayloadItem | 
Content [<item id='5E277A9C33A58'> 
<message xmlns='pubsub:test:message'> 
<body xmlns='pubsub:test:message'>room pubsub test</body>< 
/message> 
</item>]] 

ですメッセージが送信され、誰がこのメッセージなどを送ったのですか。 どうすればカスタムペイロードを送信できますか?それを解析してユーザーに表示する方法は?

答えて

4

コードの下に使用して時間と送信者のためのカスタムペイロードを送信:

SimplePayload payload = new SimplePayload("message", "pubsub:test:message", "<message xmlns='pubsub:test:message'><body>" + textMessage + "</body><from>"+Sender+"</from><time>"+time+"</time></message>"); 

あなたがXmlPullParserを使用して

+0

タグ名を使用して応答を解析することができます解析するためにあなたが私にXmlPullParserのための例を与え、タグ名を使用して応答を解析することができます? – gaurang

+0

@gaurangあなたはこのリンクを解析するために参照することができます[link] https://github.com/42cc/p2psafety/blob/master/p2psafety-android/p2psafety/src/ua/p2psafety/services/XmppService.java –

+0

ok i '確認して、あなたに連絡してください。 – gaurang

関連する問題