Tuesday, June 08, 2010

Google Android tutorial

Android tutorial part 1 - Conway's Game of Life

Content

Day One - Why build Conway's Game of Life for Google Android?
Day Two - Starting to build the application
Day Three - First run
Day Four - Wiring the initial UI together
This tutorial has a second part: Android tutorial part 2 - Conway's Game of Life.

Day One - Why build Conway's Game of Life for Google Android?

Basically, my initial motivation to write this tutorial was one of self-interest, that is, when you are forced to document something that you are in the process of learning, it helps to reinforce said learning experience.

As a developer, I am always looking out for new and interesting technologies and it takes no real leap of faith to see that mobile computing (in all its forms) is going to outright dominate the field of software development for the foreseeable future - mobile is going to be big... really, really BIG!

Furthermore, in my opinion, the writing is on the wall, that is, Google's Android platform will be established as a major player if not the player within the mobile market within the next couple of years, eventually overtaking both Apple and RIM within the smartphone market. We're not there yet (and perhaps we shouldn't ever 'get there' completely - competition is good), but I do see it happening sooner or later.

Hence, this tutorial is aimed at developers that know how to download and install SDKs, have a reasonable level of experience with Eclipse and specifically Java (the language) but at the same time do not have any real experience (like me) at building applications targeting Google Android.

Why Conway's Game of Life? Well, Conway's Game of Life is a very simple cellular automaton (for a more in-depth overview of the game, check out the article at Wikipedia for Conway's Game of Life) - the problem space is small enough to allow me to only focus on Google Android while still including sufficient elements to make for both an interesting and valid learning experience. For example, the application includes:

a 'game' loop (in its own thread):
update state
update input
update calculations
update animations
GUI components with binding
a custom GUI component

Read more: Quesucede.com

Posted via email from jasper22's posterous