aSmack error: XMPPConnection is abstract; cannot be instantiated
Asked Answered
M

2

4

I'm following a tutorial to make a very basic chat app with Android Studio, but I'm getting the error:

Error:(131, 45) error: XMPPConnection is abstract; cannot be instantiated

at the following line:

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

And I'm also getting some "Unhandled exception" when trying to use XMPPConnection elements.

Also link to the tutorial: LINK

Matronna answered 7/5, 2014 at 0:20 Comment(1)
I've also encountered this error. I downloaded the Smack 4.0.0 library, and I see that XMPPConnection is abstract!Odysseus
O
10

Looks like this changed in Smack 4.0.0. The documentation still has not been updated.

And it looks like they will change it again in 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

Please see this link: https://igniterealtime.org/issues/browse/SMACK-574

There is also an upgrade guide for SMACK 4.0: https://community.igniterealtime.org/docs/DOC-2703

UPDATE:

Also, looks like the new Smack 4.x libraries will only run with Java 7 and above. Java 6 backwards compatibility is broken.

Odysseus answered 17/6, 2014 at 15:3 Comment(0)
C
2

ConnectionConfiguration was changed too.

XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                    .setServiceName("example.org").setUsernameAndPassword("user", "password")
                    .setCompressionEnabled(false).build();
Couthie answered 19/6, 2015 at 11:4 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.