Why Developing Android Apps is Difficult ?
So you're the new kid on the block trying to get your hands on Android Application Development ? If you're developing apps as an hobby then you can safely skip reading this article. Hop onto the previous article "Smartphone User Interfaces Are Getting Bad." But if you're looking to further/Begin your career in this field. Let me give you a fair warning, this article is exclusively written for you.

Many people seem to think Android platform is a good idea to start with because it has free SDK, Large User Base & most of all Its Open Source. But it is not a good idea. No matter how much regular programming past you have behind your back it won't help you with Android. Android will break your perception of programming.

The GUI editor in IDE doesn't do what its supposed to do. Here you have to make all of the markup yourself. Tonnes of markup in tens if not hundreds of files for a decent app. You thought StackOverflow is a good source of answers to your programming questions? Not for Android. Here you will get 10 repeating questions, all with different code samples and not a single moderator dares to mark question as duplicate, as changing a variable name can cause or remove the bug. How many of those 10 questions has valuable, helpful solution that will work not only for the author of the question, but for everyone else with the same bug? 0, zero, none... All the answers you see on StackOverflow can only be applied to that one Bug that is hidden somewhere between the referencing of the border markup for the List Item, which in turn is being referenced by List View and List Activity markups, not to mention the reference of it from the Activity and in case you have a tabbed app, also Fragment or List Fragment.

Write once run everywhere doesn't applies here.
You have to plan your code to work on hundreds screen sizes and aspect ratio, resolution, pixel densities, hardware components and software installed. Not to mention compatibility with older versions of the API using the support libraries, and since there are almost 30% of users with API 8, you are almost forced to use v4 support library.

Documentation on Android was written by and for Android platform developers, not for you guys, but for Android platform authors themselves. Not to mention the bugginess and lack of good examples in documentation.

In case you are forced to work with Android, buy as many cookies and chocolate bars as they sell in the nearest shop. In case that does not help - get some sedatives and a punching bag.