从smack4.1开始就已经替代了asmack 所以以后只用smack就可以了
smack_4_1_1/releasedocs/documentation/gettingstarted.html
这个文档是入门教程
smack_4_1_3/javadoc/index.html
查看所有的类,这个版本的java包比较多,怎么找到对应的类所在的文件
下载smack源代码,然后通过find命令找到对应的文件,比如roster.java在smack-im目录下,那么要想引用Roster类就需要smack-im.jar
addPacketListener 已经废弃,建议通过addAsyncStanzaListener 和addSyncStanzaListener来代替
message类型还多了inactive 和active 可以用来实现 “正在输入...”
一些流程问题可以参考Spark的例子
需要jar文件
jxmpp-util-cache-0.4.1.jar, jxmpp-core-0.4.1.jar
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.jxmpp/jxmpp-core/0.4.1/
http://grepcode.com/snapshot/repo1.maven.org/maven2/org.jxmpp/jxmpp-util-cache/0.4.1
如果服务器地址是域名的话 还需要minidns-0.1.1.jar
安卓端还需要smack-android-4.1.1.jar 要不会报空指针错误
smack-android-extensions-4.1.1.jar
还需要设置SecurityMode.disabled 要不会有各种问题。。。。
XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration
.builder()
.setCompressionEnabled(false)
.setSecurityMode(
org.jivesoftware.smack.ConnectionConfiguration.SecurityMode.disabled)
.setServiceName("10.6.0.144").setHost("10.6.0.144")
.setPort(5222).build();
AbstractXMPPConnection conn = new XMPPTCPConnection(config);
自定义属性 需要通过ProviderManager.addExtensionProvider 或者addIQProvider 这个来添加对应的解析
监听到之后进行强转就可以拿到对应的属性了