arduino and android

hi everybody,
i want to create a project using an android phone and an arduino. i am going to use my android phone to controll some arduino-made automations. i plan to make my own arduino application. the question i have to ask is what way of communication to use. i have these 3 choices (maybe i am missing smth)

  1. bluetooth (bluetooth mate)
    2.wifi (using wifi shield)
    3.wifi (using ethernet shield and my wifi router)

can you help me decide?

If the android phone Bluetooth is compatible, I would use that. unless you have one of those ADK boards that has the USB host port.
The Ethernet shield seems a big task ( same for wifi & expensive ).

I suppose it depends on the proximity you need, bluetooth is 10 metres ( might be a better new standard now ), whereas an arduino connected to a router with internet access can be used worldwide.