Я пытаюсь создать приложение чата. - Я установил сервер openfire на свой локальный компьютер - И добавил некоторых пользователей через панель администратора openfire - Теперь я пытаюсь отобразить всех доступных пользователей в Android-эмуляторе. - Я могу подключиться к openfire server usign aSmack lib. Но ошибка при подключении .getRoster() ;.Как получить openfire онлайн зарегистрированных пользователей из Android-клиента с помощью Smack?
ConnectionConfiguration config = new ConnectionConfiguration("10.42.0.3", 5222, "localhost");
connection = new XMPPConnection(config);
try {
connection.connect();
Log.d("SMACK ", " CONNECTED");
// list online contacts
Roster roster = connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
Log.d("TRACE", "entries.size()=" + entries.size());
for (RosterEntry e : entries) {
Log.d("PRESENCE", e.getUser() + "=" + roster.getPresence(e.getUser()).isAvailable());
if (roster.getPresence(e.getUser()).isAvailable()) {
Log.d("ADD", "NAME_KEY=" + e.getName() + " USERJID_KEY=" + e.getUser());
//contacts.add(contact);
}
}
}
catch (XMPPException e){
Log.e("XMPPChatDemoActivity", "Failed to connect to "+ connection.getHost());
Log.e("XMPPChatDemoActivity", e.toString());
}
Этот код дает мне ошибку на этой линии connection.getRoster(); не найден.
здесь я мои зависимости
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
compile 'com.google.android.gms:play-services:8.3.0'
compile "org.igniterealtime.smack:smack-java7:4.1.0"
// Optional for XMPPTCPConnection
compile "org.igniterealtime.smack:smack-tcp:4.1.0"
// Optional for XMPP-IM (RFC 6121) support (Roster, Threaded Chats, …)
compile "org.igniterealtime.smack:smack-im:4.1.0"
// Optional for XMPP extensions support
compile "org.igniterealtime.smack:smack-extensions:4.1.0"
Если вы хотите «АЛЛА доступных пользователей» в сервере, вам нужно установить в Openfire JABBER SEARCH (плагин search.jar), часто это пакет, а затем осуществить исследование. Реестр это что-то другое. – MrPk