There are several methods connecting an arduino board to android. In this post I will explain the pros and cons of each method and try to choose the right one for my project.
Probably the best solution out there but it requires an usb host shield to be used with your arduino. Its the same connection method used for installing and debugging software on your android device.
WI-FI and lan connection
These methods require also an additional shield for them to work. Easy to implement to your projects but it reserves bluetooth/wifi on android side.
This method uses a special audio cable to connect your arduino via the sound channel. Cheap method if you aren't using hands free jack on your android device.
More here: androino
Serial cable/Direct Connection
There are software usb serial drivers for FT232R, CDC/ACM and PL2303 chips.
So even if your arduino is a cheap chinese variant you can get it to work with android.
This is the method I'll use on my car-droid project and it is already working great.