How to Program Android Apps - Learn Android Programming from Beginner Level
Learn how to Write Android Apps
Now is a good time to learn Android programming. There are some great books and free online classes. If you already know how to program in Java and can afford to spend about $30, just buy I'm about halfway through the book and it's an excellent tutorial. Android Programming: The Big Nerd Ranch Guide.
If you'd rather learn for free, scroll down for online guides and resources. This article isn't about selling books, although I find learning from a good book to be the easiest and most direct way to learn. I like that I can follow it at my own pace and the example programs in the The Big Nerd Ranch Guide really teach a lot of concepts in a way that's memorable.
If you don't know Java programming already, have no fear! Below I will outline how a beginner can learn to program android apps.
Don't give up! Take your time. If one book doesn't work out for you, buy another one. There is a lot to learn, but if you are determined, you can do it! Read, write code, ask questions, and read more. I gave up programming for almost 15 years... and then one day, I decided that I really wanted to learn how to program. Set goals for yourself.
Find your Path to Success
I like self study, but the challenge is figuring out how to get from Point A to Point B. This article outlines what topics to study if your goal is to write Android apps.
Learn the Basics of Programming - Step 1
If you've done any basic programming before, you can skip to Step 2. That means, if you know about variables, loops, and if/else statements, you can skip this step.
I skipped ahead because I did some BASIC programming back in middle school, then I spent a year learning PHP recently, but if you've never programmed anything, then start here.
You need to get some basic programming concepts under your belt. Follow one of these books from start to finish and then you'll be ready for step 2. It doesn't matter what language you learn here. It's all about getting the basic concepts.
I'd probably go with this one, since it teaches programming with Java, which is the same language that you use in Android programming.
Lots of beginning programming books are in Python because it's supposed to be an easy language to use. Python can be used for lots of web applications and data analysis, so it's not a bad thing to know.
Learn How to Program in Java - Step 2
In my opinion, you can't learn Android programming without understanding Java concepts. So, don't get confused... start with Java. It's just like you can't go to medical school without first going to college. Too often people try to jump ahead in their eagerness but not understanding the basics can cause a lot of frustration.
There is only one course I've seen that teaches Android without knowing Java, and that's Coursera's online class "Creative, Serious and Playful Science of Android Apps." I followed part of this course and the professor really helped me learn how to use Eclipse. But, you don't actually write much code because you need to understand Java to write the code!
If you read and do all of the exercises in this book, you'll understand Java and OOP (Object Oriented Programming). This is a fine prerequisite for learning Android. It's not a dry textbook, but rather it's like taking a class with a fun instructor.
This book should be read after Head First Java, and it is totally optional. You don't need it to learn Android programming, but understanding the concepts in it will help you write better programs. If you're anxious to get started writing apps, you can always read this later.
Free Online Resources - You don't need to buy a book to learn to program.
I found that I like learning from books. Spending $30 on a book gives me an extra incentive to not waste my money and to complete the book. I've also found that some books put everything together in a more linear way that saves me time.... I learn some skills without having to hunt around on the 'net.
However, there are lots of online resources to learn code, and here are a few that will help you understand the basics.
- Learn to Program: The Fundamentals
Online course through Coursera. Aimed at people completely new to programming.
- Code Academy
Learn to code interactively, for free. This is perhaps the most recommended place to start.
- Programming by Doing
This is a list of exercises that a teacher uses to teach java in a public school. Each exercise is only slightly harder than the rest, which makes this a frustration-free way to learn.
- Introduction to Programming Using Java, Sixth Edition
Free online textbook for learning Java. This book was published online by the author.
Learn How to Program in Android - Step 3
Can you believe it, only 3 steps?
I had my doubts when I bought this book. Too often positive reviews are from the author's friends. This book's high customer rating is well deserved.
Learn Android Programming Online - Free Resources
- Official Website for Android Developers
Download the SDK kit and get started with their tutorial.
- Eclipse IDE for Java Programming
Recommended program for writing and testing Android programs.
- Courses - Google Code University - Google Code
Free computer programming courses and information from Google.
- List of Android Programming Resouces
Here's a Reddit post from someone who learned Java and Android programming in 12 months. They wrote a "Cheat Sheet" that lists all of the helpful links for learning Android.
Interested in Advanced Android Programming?
Coursera has a sequence of three courses that take you from beginning Android to the advanced topics of frameworks, patterns, and cloud services. It's free, or only $49 if you want a certificate!
More Books to Consider Reading - These are on my "Wish List"
I read Murach's MySQL book and it was like taking a college or technical course. That makes me think that their book on Android Programming might be worth a shot. The book focuses on teaching you how to build real world apps.
This book is for the developer who already knows how to write Android apps but wants to extend their knowledge.
When you're ready to take the step from "programmer" to "software engineer" this book might be worth a read. It comes highly recommended.
This is one of the most recommended Java books.
Ready for a vote?
What kind of Android program do you want to write?
No need to raise your hand, just submit your thoughts! :)