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

Cœur
  • 37,241
  • 25
  • 195
  • 267
zeroone
  • 43
  • 1
  • 6
  • I've also encountered this error. I downloaded the Smack 4.0.0 library, and I see that XMPPConnection is abstract! – Jose Jun 17 '14 at 14:57

2 Answers2

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.

Jose
  • 1,616
  • 4
  • 26
  • 38
2

ConnectionConfiguration was changed too.

XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                    .setServiceName("example.org").setUsernameAndPassword("user", "password")
                    .setCompressionEnabled(false).build();
blyabtroi
  • 2,046
  • 1
  • 15
  • 22