Episode 1: First step from the toddler

So finally I am going to start Android development, I will be sharing my experience; so that it may become a "how-to" for others who are also interested in diving into this world-with-no-limits =). As I am myself newbie to Java and Android, I would keep the things as simple as possible, and tell you all the problems/mishaps that happen with me.

Some key words:

Before starting anything, lets have a look at some key words, which as a beginner you should understand about Android world.
  1. Compiler: Its a software in which you can debug (see if there's an error in the code and make it right), and analyse the code you have written. The compiler can be specific for one language (Turbo C compiler), or it can work with many languages (Eclipse). Some compilers have ability to run the code, others only compile the code, you need some other software etc. to run the codes. 
  2. Test Run: When you have written an error-free code, now the next logical step would be to run it so that, you can see what actually your code does. Now this is where some beginners can't get the meaning. "If this happens in the test run, what happens in the compiling?" In compiling a code, the compiler translates your code into something the machines can understand. It doesn't run the code. (sometimes the compiler compiles and runs the code at the time, hence these things are hard for beginners to distinguish), but actually these are two different phases.
  3. Emulator: The two possible ways to test run a program are:
  • Run on a real device: You test run the code on a real device and see the results really happening.
  • Use an emulator: Or you can use some software to virtually create a device, on which you would see the affects of the code you have test run.
Each of above mentioned practice have their own pros and cons. I prefer "using an emulator", its free, you don't have to risk damaging your android gadget. But some people like seeing the fruits of their labor in real, they prefer test running their code on an actual device.

Choosing the platform:

Well that's a great debate. I am a Python developer myself with years of experience and I love coding in it. So my first preference was Python. But the problems which stopped me pursuing this path were:

  1. Until now no "simple" PC based compiler saw my eyes in which you can compile Python codes into android application, even if there is, it lacks the "emulator" functions, hence you would not be able to test on a virtual android device. May be some day, some one will make such compiler. And many problems for Python developers would be eased.
  2. I saw many articles on the internet, where people had worked around Eclipse (the standard compiler for making/testing android applications), to make it work with Python code. But you could not test emulate the code. Hence even if you have succeeded in making a Python code, you won't know if its any good for android or not.! 
One last thing: Python is great if you want to test your code on a real device. You can either write your code on the device and run it, or you use some compiler and run the files on a real device. So if you think you really want to stick to Python, buy a low cost android, use one of the any methods in the internet and begin coding.!
I decided to go for the standard for Android Development: Using Eclipse with the Java SDK (Software Development Kit). You can find much help on the internet, plus until a similar robust PC based compiler comes for the Python, I want to get my hands dirty with Java. Why waste such an opportunity to learn something new.

In the next release, I will start with: how to get the setup going with Eclipse and Android SDK and then continue with the exploration. Stay tuned.

No comments:

Post a Comment