views:

150

answers:

4

Hi,

i would like to buy a new cell phone that runs Android. From what I heard I assume it's quiet programable and customizable. What are your Experiences?

Are there any good books on the topic?

Regards Nick

+5  A: 

Android is a wonderful platform, both to use and to develop for (IMHO, obviously).

I've been developing Android applications for a while now on my 1st generation developer phone, and I've just ordered the HTC Hero. For the most part, it's a joy to work with. The open source approach works really well - I often find myself looking at the source of the applications that comes with the platform for solutions.

I had no previous experience with Java before I started developing for the Android platform, but quickly learned the language and the platform. Googling for Java solutions usually leads to some hints or a direct solution.

The documentation could be a little better - but it's usually acceptable. The "getting started"-parts are fairly well explained, and the samples will get you further. The android-developers group is usually helpful, and if not there's always IRC (#android and #android-dev on freenode) and community forums where you can get help.

For reading material, I strongly recommend Reto Meier's "Professional Android Application Development" - it's far better than most other books I've read about Android. If you're lucky, you will also get answers from the author here on Stack Overflow :-)

Rexxars
+1  A: 

I maintain a roster of available Android application development books on a wiki page and a knol.

Full Disclosure: I wrote a few of those books.

CommonsWare
+1  A: 

Android is very easy to program for, especially if you have experience in Java. Overall in my experience programming for it, and attempting to port an application currently on the iPhone to the Android platform is that the iPhone interface is a bit more polished still. I think they have a few more iterations of polish to go through before it can truly stand on its own in the marketplace against the iPhone. Just my opinion, though

MattC
+2  A: 

I would say that Android devices are the most programmer/developer friendly smartphones you can get at the moment. After all, it's part of Google's strategy to attract as many developers as possible, in order to get a fast growing software landscape.

Here are some key advantages of developing for Android:

  • even though it's not a Sun JVM running your programs, the programming language for applications is Java, which makes it easy to jump the Android bandwagon for many developers
  • the developer tools can be used both on the command line, or via an Eclipse plugin called the ADT (Android Developer Tools) on all major platforms. The plugin/emulator is solid and comfortable to use.
  • Even retail phones are very developer friendly. Though not rooted, you can simply hook them to your developer machine using USB, enable USB debugging and off you go. You can one-click deploy your apps from Eclipse to your phone. Excellent.
  • While this hasn't been true for quite some time, the online documentation now actually is pretty decent
  • As a developer, this is maybe my favorite one: You can easily download the Android source code and read it. It's very readable, and often very helpful to get more insight into how a typical app is built, and how the Google devs solve typical tasks.
  • Publishing to the Android market is as easy as registering a developer account and uploading your app with a description. There is no reviewing being done by Google up front (versus the one plus months ping pong you go through with Apple each time).

Having worked with Android since over a year now without any prior experience in mobile application development, I can wholeheartedly say it has grown into a solid, well designed and easy to use platform.

Matthias