Thursday, June 03, 2010

Something's Developing

As many of you know, I am a professional geek who writes software for a living.  There's a lot more that goes in to my job, but for the most part, that's it in a nutshell.  One of the side effects of doing that for a living is that occasionally, I'll get an idea in my head and start figuring out how I'd program my way to a solution.  Only rarely, however, am I driving to actually start writing code.  This is normally because I find other things to distract myself.  However, a friend of mine said something as we were talking bout phones that stuck with me, so I decided to look in to what it would take to start making programs for the Android platform.  Turns out, not really that much.

Here's what you need in a nutshell:


  1. Java Development Kit - This doesn't just mean that your computer is capable of running Java programs.  It means that you're capable of developing Java programs.  Java is a programming language that is object-oriented (which means that you think of everything in the software as an "object" and each object has certain attributes and capabilities) and tends to be pretty good for embedded platforms.  It's also pretty widely-used.  The download is freely available from Sun.
  2. Some way to edit Java programs.  What Android (and, frankly, almost everyone else) recommends is using Eclipse.  It's a bit of a resource-intensive program, but for what it does, it does it well.
  3. The Android development kit.  This is where you get the tools for writing specifically for the Android platform.  This includes the interface to the OS along with essentially a virtual phone to be running your software in (which you can see above).
  4. Programming ability.  This wouldn't be absolutely necessary, I suppose, but it sure doesn't hurt.  I haven't really written much Java code in the past several years, but it has some strong similarities to the languages I normally write software in (C/C++).


After getting everything installed and set up, I was actually able to get a program running pretty quickly.  I'm interested to see if everything I want to do will be possible with Android.  It means digging around a bit with the documentation to find out what function calls I need to do, but it should be interesting.  I don't want to talk too much about what I hope to actually accomplish, but it will hopefully help with my biggest complaint about the phone so far.  I'll be sure to keep you posted.

No comments: