1、首先我们在发送消息之前应该要先获得聊天窗口,这里假设已经获得了聊天窗口chat。(这不是本文的重点)
2、我们普通情况下发送消息是调用chat.sendMessage()去发送消息的。但是asmack中自带的消息的方法中并不具备自定义属性和自定义新节点的功能。
3、那么我们要怎样实现自定义属性和自定义节点的功能呢?以实现下面图片的效果呢?
4、我们只需要自定义一个类,然后继承asmack的Message并重写其中的toXML()方法即可。
5、注意在toXML()方法中返回的值就是你最后传递过去的消息。因此要注意带message字段。如果你不清楚Mess锾攒揉敫age的格式,可以先用asmack自定义的Message构建数据并调用其toXML()方法打印出来看一下。或者通过反编译其Message方法,查看其中的toXML()返回数据的组建过程来得知。这里给大家看一个例子。
6、如需了解具体的发信息过程和openfire与asmack结合要如何使用,可以去http://blog.csdn.net/h7870181/article/details/12498329查看论文博客。当然里面只是用json格式发送,而没有用xml。因此本文的重点就是说明如何发送自定义属性和节点的xml格式消息。