如果我們要擴(kuò)展一個(gè)如下所示的IQ包:
成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,先為石獅等服務(wù)建站,石獅等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為石獅企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
<iq id="0001" to="search@jiyq.cn" type=”get”> <query xmls="emcc.jiyq" condition="what"/> <extrament>element</extrament> <query></iq>
需要定義一個(gè)自定義IQ進(jìn)行擴(kuò)展:
package com.emcc.stc.demo.iq;import org.jivesoftware.smack.packet.IQ;public class SampleIQ extends IQ { String condition; String value; protected SampleIQ(String childElementName, String childElementNamespace, String condition, String value) { super(childElementName, childElementNamespace); this.condition = condition; this.value = value; } /** * 最關(guān)鍵的實(shí)現(xiàn)類 */ @Override protected IQChildElementXmlStringBuilder getIQChildElementBuilder( IQChildElementXmlStringBuilder xml) { xml.attribute("condition", condition); xml.rightAngleBracket(); xml.element("extraElement", "value"); return xml; } public static void main(String[] args) { IQ iq = new SampleIQ("query", "emcc.jiyq", "what", "elemeng"); System.out.println(iq.toXML()); } }
這種方式的好處是,每一種IQ都有特定定義,每個(gè)自定義IQ類都有其應(yīng)用場(chǎng)景,而且無(wú)需再手動(dòng)配置XML。
另外,可以編寫相應(yīng)的IQParser解析特定類型的IQ包,更加利于使用。
最后,Smack的文檔是相當(dāng)缺失的,很多問(wèn)題,還是仔細(xì)閱讀源代碼比較好。
文章名稱:SmackIQ包的擴(kuò)展
網(wǎng)頁(yè)URL:http://muchs.cn/article10/jehgdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、定制開發(fā)、網(wǎng)站改版、、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)