When I started learning Android programming, I sometimes found myself confronted by a daunting task and wondering, “Is there a more agile way to do this or that?” I’ve been searching for answers in Android programming books expecting to find something about the tools I use daily in my job but used in the context of mobile application development. Yet I have found nothing.
Why is that? There are a bunch of great tools out there that can make your Android software development experience more enjoyable. Many of these tools are free and Open Source, but they are not covered in any book. My theory is that most Android programming books are targeted at novices and seldom at intermediate-level Android developers (our audience here). I think you have to experience (and even suffer a bit) with Android app development before you start looking around for more agile, alternative ways of doing things.
In this book, we covering most of the tools normally described in Application Lifecycle Management (ALM) or DevOps3 books, but used in the context of Android software development. Think of DevOps for a team of one!
I also share my experiences about monetization, marketing and other things not related to Android programming per se, but essential to successfully publishing an app in Google Play or other Android app stores.
Because of the number of topics covered in this book, I will not throw a bunch of code in your face (lucky you). Instead, I’ve selected a simple example that we will use from the first chapters until the end of the book—the FizzBuzz app.4 The Fizz Buzz algorithm is great to teach developers how to do test-driven development (TDD), and it is simple enough to let us focus on the techniques rather than our problem-solving skills. We evolve this app from a wireframe concept on paper to a fully functioning app that we release to Google Play. All of the concepts demonstrated in this book are usable for other apps you develop. At the end of each chapter, there are some hints to guide you on how to use the concepts to your own benefit.
For details, see the DevOps definition on Wikipedia: http://en.wikipedia.org/wiki/DevOps
See the Fizz Buzz article on Wikipedia for details: http://en.wikipedia.org/wiki/Fizz_buzz