Jan 2 2009

A guess about the problem of calling Last.fm API methods on Android

Eray

This week I tried to find the reason why the Android could not connect to Last.fm via its API(at least I could not). This caused lots of troubles and avoided me to start to develop applications. However, I gained lots of experience about the architecture of an Android application, and I have found very useful resources that I want to share there.

After my exploration on the internet resources, I found some useful resources about Android API and I make a guess about the reason of why an Android machine could not use the Last.fm API to get information.

As [1] states that Android does not support javax.rmi package which is responsible for remote method invocation. And most probably Last.fm API uses this package for remote method invocation for data transformation between the server and the client. Therefore, when the Android tries to use Last.fm API, the javax.rmi package can not be found and it throws VerifyError exception indicating the class required can not be found.

Of course my guess can be wrong, however I wanted to share my idea about this issue because it can be helpful to analyze the problem and suggest a solution. But for now, if I identified the problem correctly, the most reasonable solution is to use web-services of Last.fm instead of the API. And [2] proposes some solutions. I am going to deal with it as soon as possible.

Moreover, [3] is another good resource, notes of a presentation, and includes lots of useful links at the end of the notes.

[1] http://blogs.zdnet.com/Burnette/?p=504

[2] http://groups.google.com/group/android-developers/browse_thread/thread/9b246db7d612a6b5

[3] http://www.java-forum-stuttgart.de/jfs/2008/folien/A7.pdf