I have searched alot on google and in here to find the best featured API for XMPP client.
I have found the following two:
asmack: .http://code.google.com/p/asmack/
patched smack: http://davanum.wordpress.com/2008/12/29/updated-xmpp-client-for-android/
I cant find any comparison of these two APIs on the internet, so maybe you can help me in which one to choose.?
In the original article of the patched smack he inform that TLS does not work (thats fine I should not use that) I consume that the rest works.
On the other hand asmack is very popular but when I read around the net it seems that it is a little more buggy?
What do you advise me to choose?
Thanks!
asmack is almost the same code as smack, basically what they did is some code refactoring, add some extra methods to extension, changed package order, also they replace DNS class and classes related with Sasl and authentication.
http://groups.google.com/group/android-developers/browse_thread/thread/0a8a0fb16752ba52/631dcf2137e79e7f?lnk=raot&pli=1
If you use asmack you wont have major problem.
I do recommend to Avoid asmack In our last project we faced so many problems due open issues :
http://code.google.com/p/asmack/issues/list
other alternatives are avilable:
https://stackoverflow.com/a/5487854/771300
Related
I am working on android project and have to write a logging system that will record everything happening in the app during production.
What is the best way to do this? I was thinking about writing my own simple writeToFile class but then I see some people use Logging libraries.
There are a number of libraries to log the data. One of the most popular and simple library that i came across is "Hugo" developed by Jake Wharton. Its simple easy to use and flexible.
You can find the link to the library here https://github.com/JakeWharton/hugo
I am working in android chat app.I would like to use one of the following xmpp client (Tigase, Asmack). But I don't know which one to use . Can you tell me which one is better based on performance and features available in library?
For me Asmack worked just fine. I've had no problems with it whatsoever, also smack has a very nice documentation with a lot of examples. Don't know much about Tigase, all I can say is that I had a lot of fun playing around with smack.
I have an android app, and I would like to allow my users to chat with each other.
Searching google, I found a tutorial on android socket programming, but it looks quite complicated and requires me to take care of the server side too.
Is there an easier solution that doesn't require me to basically write it all myself?
I would suggest using one of the free SDK like Scringo (www.scringo.com).
It is very easy to add - basically all you need is to call
Scringo.init(this);
at the end of your Activity's onCreate() method.
No need for server side programming at all.
Here's a screenshot of Scringo in action:
i would suggest using a WebView and using a node.js / now.js chat!
It's very simple to setup!
Another viable solution is to check xmpp protocol and asmack library . I gave it a try a while ago and managed to make it work with gtalk. You can also setup an xmpp server by yourself using their openfire server.
Still better than reinvent the wheel.
I have searched from here to the ends of the earth and have still not figured out how this is possible.
I started with using the custom built javamail/gmail api because I wanted to send the email in the background without any interaction from the user.
I then tried to build ontop of that: crypto ( http://javamail-crypto.sourceforge.net/ ) coupled with bouncycastle ( https://www.bouncycastle.org/ ) to sign the email
Because these api's are so old, they clash a lot and every time I seem to fix one obscure error, I uncover another.
I have seen 1 or 2 apps on the market that provide S/MIME encryption and have emailed the creators but have not received a reply.
I've officially given up, its not a case of how old the API's are but a combination of the following two problems:
There is no java.awt package in Android, but a custom andrioid.awt one. I have tried editing the jar files belonging to bouncycastle to adapt to this but to no avail.
The api's seem to not correspond with each other at all. Every time I got close to signing the email and sending it, I would find a nosuchfieldexception or nosuchmethodexception at runtime where one api was looking for something in another api.
Eventually, I just gave up trying to do it for free and found a site called Chilkat who have a perfectly working API with a 30 day trial from the first time you run the code.
Their android api's are here: Chilkat for Android
The reason I'm putting this up is for anyone else who's gone through as much blood and sweat over this as I have to know that there is some hope, even if you have to pay for it...
Djigzo S/MIME Email encryption, from the author “Djigzo”
For Blackberry devices, download the app from: http://www.djigzo.com/bb.html
And of course it has to be free also? The APIs haven't changed because S/MIME hasn't changed. I think you'll also find the sockets API hasn't changed in eons because TCP hasn't changed. However, if you are willing to pay money, then you might consider IAIK, for example this IAIK toolkit.
I am not able to use Smack on Android whereas aSmack works perfectly? When compared the source code it looks somewhat similar, where does the difference comes from?
What is the difference between Smack and aSmack?
Smack < 4.1 does not work on Android, mostly because of APIs missing on Android (e.g. most of the javax APIs). That is the reason the aSmack build environment was born. It is a way to modify Smack so that it can be used on Android.
Besides many minor changes the biggest changes are
Disabling XMPP SASL auth methods that are not supported on Android
Using apache harmony for SASL instead of the javax API
Make sure to read the README and and init the relevant code before doing any XMPP related actions.
More information can be found # https://github.com/Flowdalic/asmack/wiki/Modifications
As the project description states, ASmack adds a set of patches to regular Smack. Check this conversation for further details.
Regards.
You can see how things are done in talkmyphone. I think they are using smack with android.
It modifies Smack to allow it to work on Android.
I am not sure of what those changes are, with the exception of altering the ProviderManager mechanism so that it can load the smack.providers XML file from an Android friendly directory. By default Smack loads this from its own resource directory, which is not reachable in Android.