If you have an Android phone and an inexpensive Bluetooth adaptor, it's easy to create your own Android applications to control the Arduino and the objects connected to it. It isn't complex at all - as you can create the Android application using the free MIT App Inventor software. Then simple serial commands can be sent from the phone, interpreted by your Arduino and your control needs fulfilled. For example:
Very well done - for instructions visit the project page. And for more, we're on twitter and Google+, so follow us for news and product updates as well.
If you're looking for an Arduino-compatible board with inbuilt USB host shield for more direct Android development, look no further as we have the Freetronics USBDroid board:
Apart from being a fully Arduino Uno-compatible, it has onboard microSD socket and the full USB socket and host-mode controller. As well as the Bluetooth application described above, this is the ideal platform for developing peripherals or projects based around Android devices with ADK (Android Developer Kit) functionality, but without requiring a USB host controller shield stacked onto an Arduino. For more information and to order, visit the product page here.