So you want to start making apps for Android, do you? Some people may try to tell you that it's too late to get into the game, especially if you're a brand new beginner, but it really isn't.

If it seems like the Play Store is flooded with crappy apps and that there's no room for anything new, remember that you don't need to be original. Your apps just need to offer something that other apps don't, even if it's just a cleaner interface.

That being said, one of the best ways to learn programming is through books, so here are a handful of great resources you may want to check out. You'll need to learn a good bit of Java, so we've included some Java books as well.

Java: A Beginner's Guide

If you have absolutely no Java experience at all, you should start with this book. Note that learning a new language is tough and even the best-written guides can only ease the way so much.

But in terms of newbie-friendliness, few are as good as Java: A Beginner's Guide. It starts are the very beginning and takes you through advanced features like lambda expressions and JavaFX. There's a reason why it's a #1 best seller on Amazon!

The latest version as of this writing, the 6th Edition, is fully updated for Java Platform Standard Edition 8, so everything you learn will be applicable to modern Java development practices.

Head First Java

This is the kind of book that you should read once you've already had an initial exposure to Java because it approaches the language in a completely different way -- using something called the "Head First" approach.

Head First Java understands that the human brain craves novelty. In order to learn quickly, you need to be surprised, excited, and engaged in many different ways. This is how theoretical mumbo-jumbo becomes cemented into your mind as understanding.

In other words, while your initial exposure to Java is all about becoming comfortable with the syntax and concepts, Head First Java is the second pass that makes sure it all sinks in.

Thinking in Java

As if in direct contrast to Head First Java, this book is as dry and technical as they come. It's both theoretical and practical, covering every little detail that you could possibly encounter while coding in Java.

But the real selling point of Thinking in Java is that it truly helps you to "think in Java". This book will help you learn the idioms and patterns that make Java so great, thus equipping you to write cleaner and safer code.

I wouldn't recommend it as a first or second book, but if you consider yourself to be an intermediate Java programmer already, then you should really check it out. And the best part? It's available for free if you're okay reading it online.

Android Programming for Beginners

If you can only afford one book and you have no Java or Android experience, then this one may provide you with the most bang-per-buck. It provides an introduction to both Java and Android with examples for 40 mini-apps and 3 real-world apps.

Android Programming for Beginners assumes that you know nothing and focuses on getting you comfortable with the Android coding environment. It won't take you all the way to being a master, but it will take you very far.

The Big Nerd Ranch Guide

Despite the weird name -- The Big Nerd Ranch teaches programming online -- this is likely the best book on Android programming you'll ever find. Ask any group of Android programmers for book recommendations and half of them will say this one.

The Big Nerd Ranch Guide is based on a bootcamp course that teaches the fundamentals of Android programming as well as good techniques to use when developing Android apps.

The Big Nerd Ranch develops custom mobile apps for clients all around the world, so you can rest assured knowing that they have the expertise and experience to back up everything that's taught in this book.

Android Studio Development Essentials

If you're going to code for Android, you're going to need a proper IDE instead of a text editor, and these days the best choice is Android Studio (Eclipse and NetBeans are old news). Note that Android Studio is a fork of IntelliJ IDEA.

You could go ahead and learn how to use Android Studio on your own using free resources on the web, but Android Studio Development Essentials is what you should get if you want comprehensive coverage of the IDE's features, including Gradle build configurations.

It covers some advanced topics too, such as proper Material design (so your app looks beautiful and modern), integration with Google Maps, and integration with Google Play's in-app billing and Developer Console.

Android 6 for Programmers

The hardest part of programming is taking all of the theoretical concepts you've learned and turning them into something tangible. It's one thing to learn the APIs of Android development, but it's another thing entirely to create an actual app from scratch.

That's where a book like Android 6 for Programmers really comes in handy. It takes you through eight full-fledged projects and gives you first-hand experience of creating and completing an actual Android app.

To get the most out of it, you should already be comfortable with Java to an intermediate degree. Topics covered include Android Studio, Gradle, Material Design, Threading, SQLite, Play Store APIs, and more.

Why Do You Want to Learn Android?

Between these seven books, you'll pick up more than enough knowledge and practice to be able to write your own Android apps from scratch to completion, but feel free to continue your education with these YouTube channels and these mobile development blogs.

Lastly, we want to point you towards these amazing podcasts for programmers that may prove invaluable to you on your journey. At the very least, they give you a way to learn while commuting, doing chores, waiting for an appointment, etc.

Now it's your turn: why do you want to learn how to make Android apps? Do you have any cool ideas floating around in your head? Tell us about them in a comment below!