Android IQ包 发送 基于XMPP

  1.IQ包的一个例子:

<iq id="xxx" type="get" 'to="xx" from="xx"><name xmlns="xxxx">hello world</iq>

  2.首先要写一个IQ包,如果你想给Openfire过滤的话,最好自定义一个命名空间就像上面那个例子那样,红色部分那些东西。蓝色部分为你要添加进去的内容。

  3.下面是IQ包的创建问题。

 1 package com.xmpp.iq;

 2 

 3 import org.jivesoftware.smack.packet.IQ;

 4 

 5 public class SimpleIQ extends IQ {

 6 

 7     // the childElement of this IQ,set position info

 8         private String positionElement;

 9         private static  String INDEX_XMLNS="simple:simple";

10         

11     

12     // constructor

13     public SimpleIQ(String element) {

14         

15         setDefaultXmlns(INDEX_XMLNS);

16         setPositionElement(element);

17         toXML();

18     }

19 

20     //get and set

21     public String getPositionElement() {

22         return positionElement;

23     }

24 

25 

26     public void setPositionElement(String positionElement) {

27         this.positionElement = positionElement;

28     }

29     //get and set end

30     

31     

32     //最重要的是这里了,其他可以无视,你这里返回的是IQ父节点里面的内容,里面你喜欢做什么就做什么,你可以加节点进去,比如我return "<myNode xmlns='simple:simple'/>"+"x,y
      z,a,b,c" ,这个IQ包解析成XML就会变成这样
      <iq id="xxx" type="get" 'to="xx" from="xx"><myNode xmlns='simple:simple'/>x,y,z,a,b,c</iq>
    

33 @Override 34 public String getChildElementXML() { 35 // TODO Auto-generated method stub 36 return getPositionElement(); 37 } 38 39 }

 最后理解了这个东西的话,就没有什么大问题了。还有如果要接受IQ包的话,就要写个类实现IQProvider这个借口了,用他来解释IQ包。

你可能感兴趣的:(android)