Ошибка aSmack: XMPPConnection является абстрактным; не может быть

Я следую учебнику, чтобы сделать очень основное приложение для чата с Android Studio, но я получаю сообщение об ошибке:

Ошибка: (131, 45) ошибка: XMPPConnection является абстрактным; не может быть инстанцирован

в следующей строке:

ConnectionConfiguration connConfig = new ConnectionConfiguration(HOST, PORT, SERVICE);
         XMPPConnection connection = new XMPPConnection(connConfig); 

И я также получаю "необработанное исключение" при попытке использовать элементы XMPPConnection.

Также ссылка на учебник: LINK

Ответ 1

Похоже, это изменилось в Smack 4.0.0. Документация по-прежнему не обновляется.

И похоже, что они снова изменят его в Smack 4.1:

What was     
Connection connection = new XMPPConnection()
is
XMPPConnection connection = new XMPPTCPConnection()
in Smack 4 and will become
AbstractXMPPConnection connection = new XMPPTCPConnection()
in Smack 4.1

Пожалуйста, просмотрите эту ссылку: https://igniterealtime.org/issues/browse/SMACK-574

Существует также руководство по обновлению для SMACK 4.0: https://community.igniterealtime.org/docs/DOC-2703

UPDATE:

Кроме того, похоже, что новые библиотеки Smack 4.x будут работать только с Java 7 и выше. Обратная совместимость с Java 6 нарушена.

Ответ 2

Изменена ConnectionConfiguration.

XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                    .setServiceName("example.org").setUsernameAndPassword("user", "password")
                    .setCompressionEnabled(false).build();