Next up was my choice of hardware. I already have a good keyboard, mouse and display, so I only needed the box. Along the left, I've linked the Titanium Gamer AMTI7013 which is roughly the same hardware that I bought (though I got mine at MicroCenter). This has the Sandy Bridge-based i5 2500K. The system I picked up had more RAM, so you might want to explore picking up some extra if you buy that box.
My primary performance concern was the Android emulator. It's slow and greedy, so I wanted plenty of RAM and at least 2 if not 4 cores so that it would be guaranteed plenty of dedicated instruction pipeline.
Having picked the hardware, I needed software. It's amazing how much software you have to install to get going. I started with the Android Development Tools (ADT) installation guide. But in the end, I had to install all of this (I'll describe this for the Windows setup, since I'm not running the emulator under Linux):
- Chrome browser (you could go with Firefox if you wanted)
- Java SE
- Eclipse Helios for Java
- Android SDK starter package
- Then I followed the ADT installation guide
- I had to make sure to install the USB plugin and all of the API levels I will be developing for
- Google Plugin for Eclipse - Useful for many purposes, but especially key if you have an app that uses Google App Engine (GAE) on the back-end; see the recent Google I/O talk/announcement and get:
- The Google Web Toolkit (GWT) 2.4 beta or later.
- Google App Engine SDK (make sure to get the Java version if you want to develop the back-end in Eclipse)
- Gimp for image/icon/logo creation and manipulation.
- VirtualBox for installing Ubuntu Linux
- Vim if you like having a quick-and-dirty editor around for opening random files (much lighter weight than opening files with Eclipse, but much more capable than notepad)
Some notes about your app. You're going to need to sign it eventually, so you might as well get that out of the way when you're still in the "hello world" stage of development. To save a signed APK, just right-click on the top-level project name under the "Package Explorer" in Eclipse and select "Android Tools -> Export signed application package..." Once you've done this, you can use that key that you created for lots of useful purposes, not the least of which is to interact with Google APIs for services like Calendar and Maps. For example, there's a document that Goolge provides on extracting the md5 signature of the key and using it for access to the Maps API. To do that, you'll need the keytool program that came with Java SE, and can be found in that package's "bin" directory.
I'll continue to post more as I learn and get my first application up on the app market. Enjoy!