[![](http://supermekanismo.files.wordpress.com/2012/01/symbian.jpg?w=300)](http://supermekanismo.files.wordpress.com/2012/01/symbian.jpg) |
Oh Symbian how I don't miss you. Image [source](http://www.sxc.hu/photo/299313). |
Mobile operating systems have progressed tremendously the past few years. It's now easier to develop and release applications for the mobile market. I'm currently learning Android development not just because it's in Java but mainly because I don't have a Mac and I've sold my old iPod Touch. With Apple's iOS development requirements being you use a Mac, use xcode and pay a certain fee, I was more inclined to try out Android. Oh and I have a Nexus phone. It's always nice when you can test the application outside of emulators.
Anyway, I thought I'd share the requirements or what do you need to do to start developing applications for Android phones.
Fundamentals in Coding
Unless you're going to use a software for creating applications automatically "create" the apps you're going to need to know the basics. If you don't know the basics or need a quick refresher how about trying out Programming Basics website. I haven't tried it yet as I just found it just by googling "programming basics". Proof. You can try the other links from the search results if you prefer.
Basic Understanding of Java or OOP
If you already know how to code then it would be helpful if you know the basics of Object Oriented Programming. Links to help you out: OOP defined. Basics of Java OOP.
IDE: Eclipse
You already know that you need an environment to code. Instead of punishing yourself with notepadd, why not (Zoidberg) try Eclipse? The great thing about developing in Eclipse is that there's a plugin for Android. Download Eclipse here.
[![](http://upload.wikimedia.org/wikipedia/commons/d/d7/Android_robot.svg)](http://upload.wikimedia.org/wikipedia/commons/d/d7/Android_robot.svg) |
Image via Wiki Commons |
**Android SDK**
I would post the full instructions but Google already has foolproof guide [here](http://developer.android.com/sdk/installing.html). The SDK will have everything you need to start making applications. If you happen to run into problems (as I have) most of the answers or optional steps are also included.
**Android Emulator or Phone**
You're not required to use a phone. If you have an Android Phone you can go to Settings > Applications > Development and select USB debugging to run your programs directly on your phone. I suggest to use a phone as it's much faster than the emulator. You also get to have a good feel of your application on the real world use.
**Hello World!**
"Hello World" is almost every programmer's first output.You don't need to actually write anything to create a hello world application in Android (even the actual word). An XML layout is automatically created when you first start a project. Before running the program you have to setup an emulator. The comprehensive guide is available from [Google](http://developer.android.com/resources/tutorials/hello-world.html) (not Google.com don't worry!).
**
**
**Cheating?**
This post feels like cheating there's already a lot of hyperlinks but the quality of the guide is quite better than what I could offer so I feel it's better to link those. What I will write about soon is how to create some simple experiments in Android like playing around with the 2D graphics. Anyway, I hope this is a useful post in helping you get an understanding of what you need to start coding in Android. You only need to do these steps once so don't worry.
Goodluck!