Learn by example and build three real-world apps and over 40 mini apps throughout the book!
When Android first arrived in 2008, it was almost seen as a poor relation to the
much more stylish iOS on Apple iPhone. But, quite quickly, through diverse handset offers that struck a chord with both the practical price-conscious as well as the fashion-conscious and tech-hungry consumers, Android user numbers exploded. Now, after seven major releases, the annual sales of Android devices is increasing almost every year.
For many, myself included, developing Android apps is the most rewarding thing (apart from our friends and family) in the world.
Quickly putting together a prototype of an idea, refining it, and then deciding to run with it as well wiring it up into a fully-fledged app is an exciting and rewarding process. Any programming can be fun, and I have been programming all my life, but creating for Android is somehow extraordinarily rewarding.
Defining exactly why this is so is quite difficult. Perhaps it is the fact that the platform is free and open. You can distribute your apps without requiring the permission of a big controlling corporation—nobody can stop you. And at the same time, you have the well-established, corporate-controlled mass markets such as Amazon App Store, Google Play, Samsung Galaxy Apps, as well as other smaller marketplaces.
More likely, the reason developing for Android gives such a buzz is the nature of the devices. They are deeply personal. You can create apps that actually interact with people's lives. You can educate, entertain, organize them, and so on. But it is there in their pocket ready to serve them in the home, workplace, or on holiday. Everyone uses them, from infants to seniors.
This is no longer considered geeky, nerdy, or reclusive; developing Android apps
is considered highly skillful and really successful developers are hugely admired,
If all this fluffy kind of spiritual stuff doesn't mean anything to you, then that's fine
too; developing for Android can make you a good living or even make you wealthy.
With the continued growth of device ownership, the ongoing increase in CPU and
GPU power and the non-stop evolution of the Android operating system (OS) itself,
the need for professional app developers is only going to grow.
In short, the best Android developers—and perhaps more importantly, Android
developers with the best ideas—are in greater demand than ever. Nobody knows
who these future Android coding heroes are and they might not even have written
their first line of Java yet.
But is this book for me?
So why isn't everybody an Android developer? Obviously, not everybody will share
my enthusiasm for the thrill of creating software that can help people make their
lives better, but I'm guessing that because you are reading this, you might.
Unfortunately, for those who do, there is a kind of glass wall on the path of progress
that frustrates many aspiring Android developers.
Android uses Java to make its apps respond, think, and communicate with users.
Every Android book, even those aimed at so-called beginners, assumes at least an
intermediate level of Java and at most, a fairly advanced level. So, good to excellent
Java knowledge is a prerequisite for learning Android.
Unfortunately, learning Java in a completely different context to Android can
sometimes be a little dull, and some of what you learn is not directly transferable into
the world of Android either.
I think it makes more sense, is vastly more enjoyable, and is significantly quicker
and more rewarding, to teach Java in a purely Android environment—to teach Java
with the single overriding goal of learning to develop professional standard Android
apps. And that's what this book is about.