gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:09:22 25 4
gpt4 key购买 nike

我一直在尝试在 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 获取花名册条目?

谢谢

最佳答案

这是一个循序渐进的解决方案,最后(希望)回答您的问题。您应该特别注意步骤 2 中的 Java 导入和步骤 4 中的 Roster.reloadAndWait() 方法。

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

第 1 步:包括以下依赖项。对于 Android Studio 用户,它位于 build.gradle (Module: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 Activity 具有适当的权限。对于 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 - 在 android 中使用 smack 4.1 获取在线用户(花名册条目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28559752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com