簡體   English   中英

如何發布和解析pubsub xmpp smack庫的自定義有效負載

[英]how to publish and parse custom payload for pubsub xmpp smack library

這個問題在這里這里被問到,但我沒有從那里得到答案。 我正在開發我正在使用pubsub和xmpp的應用程序,對於android我正在使用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>]]

我想發送自定義有效負載,如發送消息的時間,誰已發送此消息等,所以,我如何發送自定義有效負載? 以及如何解析它並將其顯示給用戶?

使用以下代碼發送時間和發件人的自定義負載:

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

對於解析,您可以使用XmlPullParser並使用Tag名稱解析響應

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM