Mobile app development is still on the rise with more smartphones in the hands of more people. Android is the more affordable option so it leads to a larger userbase.
Programmers can develop anything for Android from to-do apps to 3D games. But they all require some knowledge of Android/Java programming and that’s exactly why I’ve curated this huge list of books.
Here you’ll find the best learning resources for Android app development from start to finish. No matter what you want to create I guarantee there’s something here for everyone.
For getting into Java/Android coding with no prior knowledge you’ll want a copy of Android Programming: The Big Nerd Ranch Guide. This book is magnificently well written and offers a deeper look into the Android SDK from all perspectives. It’s also easy to read through which is especially valuable for newbies.
Android Programming for Beginners is quite the simple guide for your aspiring programmer. It’s meant to help you learn the fundamentals of Java(the language used for Android apps) along with the actual Android SDK.
This book spans a very lengthy 700 pages and each chapter is packed full of examples.
The author John Horton relies on detailed examples to explain each idea while guiding you through the learning process. You’ll be forced to actually think about each lesson rather than just regurgitate what you already learned, and through this process you’ll internalize how Android apps should work.
I absolutely recommend this book for anyone serious about Android programming. It’ll teach you how to build over 40 mini-apps that all demonstrate specific techniques in the Android ecosystem.
I adore the Big Nerd Ranch guides for all the topics they cover. I recommended their book for Swift programming and I have to say their Android app book is also phenomenal.
Android Programming: The Big Nerd Ranch Guide teaches through hands-on lessons that force you to learn the entire workflow from scratch. This book is perfect for absolute beginners who have never built an application in their life.
You’ll learn how applications work and how to use Android Studio for development. Each chapter covers a slightly different topic ranging from basic app setup to custom widgets, classes, GUIs, and debugging your programs accordingly.
The code examples aren’t super practical so you may not find much use for them in the real world. Unfortunately this can make it tough to really internalize the concepts, but I still recommend this book just for the sheer amount of data and the way it teaches Android programming.
Well worth picking up regardless of your skill level.
Ever wanted to understand how Android GUIs work or how you can program different screens from a menu? Then pick up a copy of Head First Android Development.
This newbie-friendly guide helps you along the way towards creating a realistic application that works. You’ll not only learn the SDK and how to write Java code, but also how to scale your application and fix any bugs you find.
The goal of this book is to teach Android development. Yet it can also help you build your own application from scratch.
So many programmers start with a cool idea in mind but they don’t know how to create it. This book will guide you through the entire process teaching through visuals and practice exercises that really engage your brain.
Even if you’ve never written a line of code in your life you can still work through The Beginner’s Guide to Android Game Development by James S. Cho.
This book is extremely detailed and practically tailor-made for anyone serious about programming mobile games. Each chapter covers a different fundamental topic and you’ll learn these ideas in a step-by-step fashion.
In the beginning you’ll learn about Java and how this fits into object-oriented programming. From there you’ll apply this knowledge into Android development using the Android SDK. Later chapters teach you how to create 2D worlds, program controls, and even how to submit your game into the Google Play store.
Everything in this book is geared towards the beginner with no prior experience writing code. It’s a phenomenal resource for anyone willing to put in the work and learn how to program on their own.
The updated 5th edition of Introduction to Android Application Development covers the newest SDK along with many of the newer features offered to Android programmers.
In this book you’ll find a solid introduction to the tools,workflows, and methodologies behind coding Android applications. This includes application testing, debugging, working with 3rd party libraries, and ultimately publishing live for the whole world.
The GUI portion of this book is especially interesting because it covers specifics about Google’s material design library. This sets rules for how you should design interfaces and how animations should work on the screen.
Beyond this you’ll also learn about app architecture and backwards compatibility for Android 6.x and older.
Each chapter ends with a detailed quiz to ensure you really understand the material. It’s an excellent book on the topic of Android programming, but especially so if you already have some basic Java knowledge.
Once you get past the basics you’ll be frothing at the mouth for more. Android Programming: Pushing the Limits is exactly the book you need.
With 430 pages and tons of practical examples you’ll learn how the professionals code their Android applications. These best practices apply to all types of apps from games to social networks.
Topics include local caching and concurrency along with newer features like multi-touch support. You’ll also learn some basic UX design concepts from color selection to app usability.
Data storage, testing principles, and continuous integration are all covered later in the book. This is the ultimate guide for truly pushing beyond the norm and creating Android applications that look & feel professional.
Once you feel comfortable coding applications from scratch look into getting a copy of this book.
The Android SDK is very detailed and it gets even more confusing when you dive into game programming. You have to consider so many obstacles like cameras, AI, controls, music, and visuals.
Android Game Programming by Example shows you how to accomplish game design with Android. This book doesn’t hold all the answers but it sure as hell can get you into the belly of the beast.
You’ll learn how to properly structure your code for a game library and how to animate characters on the screen using sprite sheets. The writing is super easy to follow and you’ll learn all these lessons by following exercises one step at a time.
You should already know a good amount of Java/Android coding before picking up this book. It doesn’t spend much time on the fundamentals of programming since this is really geared towards creating awesome games.
But if there’s any book you should read for actually building sick Android games it’s this one.
You can track and react to certain user behaviors with fragments. These can be combined together for dynamic user experiences on Android.
This topic can get pretty detailed so it’s best to start with a book like Creating Dynamic UI with Android Fragments. The author Jim Wilson is an expert programmer who knows his way around the Android SDK.
Since this is one of the newest books in this list it’s guaranteed to be up-to-date with Android 7.x. It also covers all the newer fragment-oriented features while designing material interfaces. All of these features can be maintained from the Android Studio program so it’s something you can pick up fairly quickly with some practice.
However this book is not for absolute beginners. It gets very technical into Android/Java programming so you really do need experience in the field.
Once you already know how to create your own applications then consider grabbing a copy of this book.
This is perhaps one of the most well-structured books you can find on Android programming. The guide is very clear and it talks to the reader from a strong technical perspective.
Programming Android uses clear and pragmatic code snippets to teach you the ropes of this SDK. It does assume you already have some programming knowledge, preferably Java, so it’s not a brilliant guide for absolute beginners.
Still you can work your way through this if you’ve programmed in other languages but just want to learn Android development. This’ll save you the mess of learning Java first and the book is organized enough that you can use this as a reference guide for any future app projects.
But this also isn’t a book you can just read through and expect to understand. Because of the technical nature you really need to perform the exercises to grasp the programming concepts.
For a cheap quick intro to programming applications take a look at App Development & Programming Guide. This book is extremely affordable and pretty short with only 180 pages.
The writing style is also pristine for anyone without a programming background. You’ll pick up a lot just by skimming through this text and working through the resources in each chapter.
Unfortunately the book is a tad outdated so it’s probably not the best guide for beginners. I’ve still added this into my list solely because the writing style is so clear that beginners won’t have trouble following along.
If you do need a cheaper starting point consider this book first. Then quickly move onto a more up to date resource like the Big Nerd Ranch guide mentioned at the top of this post.
Here’s an interesting guide that teaches Java programming through the lens of Android game development.
If you want to create Android apps you need to learn Java. But it’s rare to see a book focused on Java programming specifically for Android. Yet that’s exactly what you get with John Horton’s Learning Java by Building Android Games.
It’s a fairly lengthy book totaling 410 pages and a few dozen chapters. This uses Android Studio and offers a handful of code samples you can test on your own.
All of the content is very well organized and it’s a brilliant resource to pick up Android and Java together. Some topics include GUI graphics, audio, OOP techniques, and building on custom APIs.
If you really want to get into Android game programming this book might be worth the investment. It assumes little-to-no prior knowledge of Java so it can work well for programmers and non-programmers alike.
Android’s ecosystem is pretty simple to pick up with the right learning materials. I do hope this list provides more than enough to help anyone get started and/or improve their existing knowledge for Android app development.
If you’re brand new to the subject I recommend Android Programming: The Big Nerd Ranch Guide. It’s a pretty lengthy guide and it covers all the topics you’ll ever need to know.
But there are tons of other detailed books in this list so take another look and see if anything catches your eye.