![](/img/trans.png)
[英]How to parse custom roster query response in Android XMPP client with 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.