With the coming of Android 3.1 you finally have the option of using the device as a USB host. This may be through a USB OTG (On-the-Go) adaptor, but nonetheless it’s a feature which was sorely missed until now. [Manuel] put together a guide on using Android as a USB host. As you can see, his example hardware is an Arduino board but this is applicable with just about any device.
The tutorial implements a test app for the Android device where a slider will set the brightness of the Arduino’s on-board LED. The Arduino sketch is nothing special, it just reads data received on the UART. This means that it doesn’t care if it’s connected to an Android, PC, OSX, or Linux system, it goes about its business until the RX interrupt updates the data variable.
This will greatly simplify a lot of projects we’ve seen, such as this message scrolling belt buckle. That used extra hardware to make the Arduino the host, a step that is now necessary.

http://hackaday.com/2012/02/22/andro...how-to-use-it/