4

Due to my lack of experience on the matter I'm having some problems figuring out some stuff concerning XMPP.

I'm trying to develop an application for Android, and after a bit of research I've reached the conclusion that I need to understand how to incorporate XMPP into my application.

I'd be glad to receive any relevant references or explanations on how to implement XMPP in Java (in the Eclipse IDE), which are related to Android application development

I've read a post in this forum which warned that "creating your own server on XMPP is not as easy as you might think", is it still true even if the procedure that the server needs to do is fairly easy? If I create a server, what's next? how does it "go on the air"?

Right now I'm planning to use the tigase server and the Smack libraries in order to for a client server communication based on the XMPP protocol, does any one have any useful information on that?

I chose not to use Openfire because it has way more features then I need and they are mostly multi-partner-chat related which does not interest me.

This XMPP stuff is really new to me, and I'd be glad if someone would be able to shed some light on the subject.

Bar
  • 57
  • 1
  • 2
  • 9
  • I am not sure if I understood your question. Maybe you should tell use what you want to do on android. My experience is that most java framework/libraries work out-of-the-box on android. If you want to develop an XMPP Component use whack, obviously it exists for that reason. But you won't put the component service on android... – Flow Jun 29 '11 at 21:56
  • The problem is, I don't know enough information in order to form the specific question that keeps me from moving on. are you saying that if I develop a XMPP component I can use it only on the server itself? – Bar Jun 29 '11 at 22:22
  • Are you wanting to have your app connect to an existing XMPP server on the network someplace, or are you trying to implement a server on the android device? – Rob Goodwin Jun 29 '11 at 22:38
  • I'm trying to figure out which way is the best way to go. I've seen a couple of the big existing servers and I got the impression they are way heavier then what I need. I need a simple server that "transfers" data from 1 android to another. the existing servers like openfire are focused on the multi-partner-chat and have many features i dont need. do you happend to know a simpler server? must i install the server on the android? – Bar Jun 29 '11 at 22:58
  • Why do you think about putting an XMPP server on an resource constraint device like an android smartphone? – Flow Jun 30 '11 at 06:40
  • This XMPP stuff is really new to me, and I'm just trying to figure out which way is the best way to go. for example recently I started to try and use the "tigase" existing server and the Smack libraries in order to form some simple Server client communication. I just need usefull information – Bar Jun 30 '11 at 09:32
  • This is way too broad a question for this forum, but from what I can tell you need to use an external server, so any of them will do. OpenFire will be as good as any other if what you want to do is chat between android devices. This is the most basic capability that they all support, even though almost all would also support MUC (multi user chat) as well. – Robin Jun 30 '11 at 19:04
  • I'll be more specific, I want to send a simple _String array_ that's it. Don't you think that OpenFire includes way too much unnecessary features to achieve this goal? I barely know what features I'm talking about but that's the impression I got from some posts I've read which are related to the subject... – Bar Jul 01 '11 at 20:36
  • I know this might be a stupid answer but google c2dm is based on xmpp,if your idea is realtime communication with device you can try using it :) – Naresh Jul 22 '11 at 07:48
  • the google c2dm demands are: 1) a 2.2 Android device that has Market installed, 2) it must have at least one logged in Google account. I know it's unlikely that one of these requirements won't be met, but just to cover all the possibilities I'm aiming for the most general solution. (currently trying to deal with openfire) thanks for your comment! :) – Bar Jul 22 '11 at 21:50
  • 1) install Openfire in your PC 2) Check your firewall is not blocking port 5222 3) Download Jabiru from Android market 4) Configure Jabiru to use your server (localhost, IP). 5) repeat step 3) and 4) on each phone. Once you get this working you can move to your own jabber client using asmack or your own libraries. – vsm Jul 26 '11 at 18:03
  • downloading jabiru and configuring it on each device is an impractical solution considering the goal that I'm trying to achieve which is developing an application. I'm currently trying to connect to the openfire server with my application and I've encountered some problems described here: http://stackoverflow.com/questions/6804236/why-cant-i-connect-to-the-openfire-server .... thank you all for your comments! – Bar Jul 26 '11 at 19:46
  • Maybe I wasn't clear, I suggest to use jabiru to be sure the server is working properly then move on to your client develop. – vsm Jul 27 '11 at 02:09
  • Even better could be use Pidgin on the same machine has Openfire server, then move to jabiru then move to your own client. – vsm Jul 27 '11 at 02:16

1 Answers1

1

You can use any server

  • Tigase
  • Openfire (this one is very easy to install/config)
  • Ejabberd

But for client side I suggest you to use asmack http://code.google.com/p/asmack/

vsm
  • 3,373
  • 2
  • 25
  • 36
  • 1
    Asmack on google code is abandoned. Other XMPP Android solutions are discussed here: http://stackoverflow.com/questions/4769020/android-and-xmpp-currently-available-solutions/5487854#5487854 – Flow Jul 28 '11 at 20:51