Step 2: Introduction to the Arduino ADK
The Arduino ADK is basically an Arduino Mega with a built in USB host controller. It has over 50 digital pins, 15 analog pins, and many more for communication. It has a very fast processor with over 200kb of memory to store code!!! In most programs, you use less than 15kb.
The Arduino ADK can communicate with Android devices, or basically any USB slave (i.e. keyboard, mouse). It has a MAX3421E that communicates with the ATmega2560 through SPI to transmit and receive data to the Arduino ADK.
Some of these concepts might be a little confusing, but you don't have to understand them in full detail to make a simple Android app.