You can get started today!
I always hear the same question posed in many ways. “Can I really learn how to build applications for Android?” “How simple is it to study Android programming?” “Where should I search to study Android development?” “I just purchased a new Android tablet, and I feel so inspired! I have an idea for a new application, but where do I look for help?”
Mobile application development is very popular recently, and Android is now leading the rest in the mobile world. And if you just followed along this far in this post, I’m sure it is because you are asking some different version of one of the questions listed in the preceding paragraph. Today you are lucky, because I have already done this before, and I have one encouraging response: “Positively! It is very feasible to become able to program Android applications, no matter your background, and the tools to practice and develop with are free and easy to use!”
So let’s begin with the tools. The best tool for Android development is the Eclipse IDE (Integrated Development Environment). Eclipse is absolutely free, runs on many operating systems (including Windows and Linux), and is constantly updated to provide the best performance in development. In addition, the Android Development Team at Google has published the Android Development Toolkit (ADT) extension for Eclipse that modifies it into an Android app production machine! It turns application compilation into a one-click task, provides custom editors for layout files and resource files, and automates updates for the latest revisions of the Android SDK. Some programmers find Eclipse a little quirky, or even glitchy to use at times (myself included). For example: it will not always recognize new layout files until you restart it, which is sometimes a pain. However, I always use Eclipse with the ADT extension for all of my Android development, and I suggest that you do the same.
You of course can always decide to use a different IDE, and there are many out there. But one word of caution about IDEs: many Android helpers claim to turn app development into a WYSIWYG process, or allow Android development in other languages besides Java. Is it feasible to create apps using these tools? Of course. Will they be OK apps? Possibly. But will they be great apps - apps that really perform and extend easily with new features as the Android SDK changes over time? Not really. Mobile programming is just like any other task worth doing: do it correctly (in this case, do it the Android way) and you will usually have more success.
Now on to the actual learning part. This part will take a lot longer than just installing a piece of software. Studying Android development is like learning any other new language (and that is what Java is - just a foreign language, but one that allows you to talk to a phone or tablet instead of a human). It will take persistence, and a lot of practice. A good portion of you will give up, convincing yourself that it is not worth trying. That’s okey-dokey: the rest of us will succeed in the Android mobile application market after you are gone! For those of you who do not quit, you will find the process always rewarding in many ways.
If you don’t yet program in Java, that is where you need to start. When I began learning Android I got somewhat confused, because I didn’t already program in Java up front. After working a little time on the basics of Java, I realized that I could follow the code lessons and understand the examples. So begin there.
Finally is the Android SDK itself. There are too many learning resources for Android available that I absolutely do not have the space to write about them all in this post. But Google does, so search for it. Look for “Android app tutorial” and start with the source that suits you best. It is truly that simple. I of course also suggest the Android lessons located in the Android SDK documentation online for all of your coding questions related to the Android SDK. And be sure not to forget those newsgroups! They are one of my favorite places to receive immediate guidance from real developers who enjoy helping new programmers.