在Android中使用smack 4.1获取在线用户(名册条目)

在Android中使用smack 4.1获取在线用户(名册条目),第1张

概述我一直试图在 Android中使用smack 4.1 beta 2来获取名单条目. https://github.com/igniterealtime/Smack/wiki/Smack-4.1-Readme-and-UpgradeGuide 以上链接引用.. “Roster现在遵循Manager模式(使用Roster.instanceFor获取实例,不再使用XMPPConnection.getRo 我一直试图在 Android中使用smack 4.1 beta 2来获取名单条目.

https://github.com/igniterealtime/Smack/wiki/Smack-4.1-Readme-and-UpgradeGuide
以上链接引用..

“Roster现在遵循Manager模式(使用Roster.instanceFor获取实例,不再使用XMPPConnection.getRoster)”

首先,我无法获得“名册”对象,我导入的库可能没有该包,或者我在这里想念任何库?

我使用上面链接中提到的所有库.

任何人都可以帮助我使用smack 4.1获取名册条目吗?

谢谢

解决方法 这是一个循序渐进的解决方案,通过(希望)回答您的问题得出结论.您应该特别注意STEP 2中的Java导入和STEP 4中的Roster.reloadAnDWait()方法.

注意:建议使用AsyncTask执行Smack代码.

第1步:包括以下依赖项.对于AndroID Studio用户,它位于build.gradle中(模块:app)

dependencIEs {    compile "org.igniterealtime.smack:smack-androID:4.1.0-rc1"    compile "org.igniterealtime.smack:smack-androID-extensions:4.1.0-rc1"    compile "org.igniterealtime.smack:smack-tcp:4.1.0-rc1" }

还要确保您的程序具有TCP活动的适当权限.对于AndroID Studio用户,您可以将其添加到AndroIDManifest.xml文件中:

<uses-permission androID:name="androID.permission.INTERNET"/>

第2步:导入以下内容

import org.jivesoftware.smack.roster.*; /*you may have been missing this*/import org.jivesoftware.smack.*;import org.jivesoftware.smack.tcp.*;import java.util.Collection; /*optional*/

第3步:连接到服务器

/*Example solution. The exact settings would have to be adjusted outsIDe  of practice*/XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration    .builder()    .setSecurityMode(ConnectionConfiguration.SecurityMode.Disabled)    .setServicename("192.168.2.14")    .setHost("192.168.2.14")    .setPort(5222)    .setCompressionEnabled(false).build();    XMPPTCPConnection connection = new XMPPTCPConnection(conf);try {    connection.connect();    connection.login("john","123");...

第4步:获取名单

...Roster roster = Roster.getInstanceFor(connection);if (!roster.isLoaded())     roster.reloadAnDWait();Collection <RosterEntry> entrIEs = roster.getEntrIEs();for (RosterEntry entry : entrIEs)     System.out.println("Here: " + entry);
总结

以上是内存溢出为你收集整理的在Android中使用smack 4.1获取在线用户(名册条目)全部内容,希望文章能够帮你解决在Android中使用smack 4.1获取在线用户(名册条目)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1137929.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存