I have begun developing an Android application with no prior knowledge of mobile app development. After a 2 month crash course of reading every article on http://developer.android.com, and reading various books I felt confident to begin my endeavor. I had no clue what I had just started. Yes, I could create simple apps and pathetic gimmicks, but for any app that required an once of skill it was going to take time. It seems it took me over 6 hours just to get Eclipse with SVN & the ADT plugin setup. Designing the core functions of my application was as easy as any other language. Quickly that easiness ended as Android requires you to redraw the screen during scrolling and store every piece of information, just in case a phone call occurs. Granted, I've never developed in any other mobile platform so this seemed not needed.
My previous coding jobs as PHP and .NET developers never required this in depth knowledge. I now have to design for every possible circumstance relating to phone-calls, minimizing applications and multiple other possible outcomes. Then came the pain of developing for multiple phones and various screen sizes. I thought designing for IE6 was impossible, but this compatibility developing made IE6 developing look like a child. The ability to create robust layouts can be done, but has a very large learning curve. The entire XML layouts can be done statically, but most applications require a dynamic interface where the XML layouts then become useless. Layouts must be inflated during run-time in the core code in order to bypass this roadblock. In the next couple of months after more research I plan to release this application.
If you have any excellent guide to Android Development, or book. Post a comment explaining it.