Join J. B. Rainsberger as he uses the principles of responsible design to build his first application for the Android platform. How does an advocate and teacher of evolutionary design and test-driven development approach an environment like Android? How does he explore the framework without becoming consumed by it? How exactly does one "do TDD" in Android? If you have these questions, then read this series, because they answer them.

Nice analysis of a "need to mock part of an object in a test" smell in @jbrains "Responsible Design for Android" book leanpub.com/ResponsibleDes… — Daniel Wellman (@wellman) January 3, 2013

In part 1 of the series (that was never meant to be), J. B. uses all his best tricks to explore the Android SDK without letting it swallow his code whole. You will find this useful especially if you have never built an Android application before.

You will see how the sausage is made. There is a lot of code. A lot.

Please note that as of January 1, 2015, I have finally admitted that I am almost certainly never going to finish this book. If you purchase this book now, then please understand although it is only about 75% completed, I do not intend to finish it. I would have to rewrite it almost entirely, and I don't expect ever to do that. (I have, however, planned a video training course to supplement it. You might just find a surprise in a future version of this book.)

@jbrains just finished reading "Responsible Design for Android" and loved it! I'm encouraged to build something using what I've learned. — Jason Reid (@jason_a_reid) November 11, 2013

Some people prefer browsing the code in an IDE, rather than reading code listings in a book. No problem: I've tagged every important snapshot of the code in a git repository hosted at github, so you can pick any snapshot of the book and browse that exact version of the codebase in seconds.

(While the book remains in draft mode, you'll probably find it easiest to read as a PDF, because it's really hard to make code samples look good in narrow formats. If you want to read the other formats, I recommend Landscape mode with single-column text. I'll figure out what to do when it comes time to pretty things up.)

This book lays the foundation for responsible design in Android application development. In subsequent books, J. B. will apply the patterns he's discovered here to ship more features. Read along and refine your understand of how to build a sustainable, extensible Android app.