As an Android developer, one of the most frustrating task I have found has been UI development. Even a slightly complex screen becomes a spaghetti code of Linear Layouts & Relative layouts with hardcoded values for height, width, margins. My iOS colleagues scoff at my efforts. Overheard on a Skype conversation between two opinionated iOS programmers "They have to design screens manually through XML? No wonder Android apps look so <expletive>" - true story!
So my question is - do you know of any good UI development tools for Android? Do you have any tips & does your book cover this?
"A problem well stated is a problem half solved.” - Charles F. Kettering
SCJP 6, OCPJWCD
We tried to cover so much material in the book, but we didn't cover UI design tools per se. There's a brief mention of droiddraw (http://www.droiddraw.org) as a GUI tool for Android but the book doesn't cover it (no room). Droiddraw is a pretty popular tool though. The Eclipse plugin has a graphical UI designer that gets better with every release. When you get really serious about UI design, the Eclipse plugin has a number of tools that help a lot. For example the hierarchy viewer shows you a graphical representation of the structure of your UI, which can help uncover problems and inefficiencies. That's covered in the book. I took a look at Google's App Inventor for Android but found it difficult to learn.
We cover the XML side of things in pretty good detail: the layout managers, the control specs (buttons, views, lists, etc), styles and themes. That's chapter 6 and it's 72 pages. I didn't find working in XML all that terrible, but then I haven't used the iPhone tools so I may not know what I'm missing. I don't think bad UIs are a result of using XML however.