I have an android (an HTC Hero.. so it hasn't yet received the updates to the newer versions of android)
I LOVE it and I LOVE using it as a cyclocomputer.
I kept breaking cyclocomputers and live in NYC and so when I didn't break them they'd eventually get forgotten on my bike and disappear. My options seemed to buy a wireless cyclocomputer or use my phone.
I tried a bunch of apps and found two I particularly liked: Velox is simple just telling you speed, distance and elevation but I ended up using the absolutely excellent and rocking CardioTrainer (look it up on androlib.com where you'll find the reviews and a QR)
CardioTrainer was a free app but I ended up buying one of the two add-ons available for it. Cardiotrainer maps my ride, times me, tracks speed, distance, estimated calorie burn, total climb. It also autopauses if you stand still long enough (you can set that too) so I don't time much of the time I spend waiting at lights.It uses google maps so I can pretty easily see directions but I can also use it simultaneously as google maps if I wanted. (since androids can run multiple apps simultaneously). Cardiotrainer can also be set to make announcements every so often about speed and distance (depending on what you set) and uploads this to a page on their site that you get a code to see. Tracks your overall distance and can compare you to the mileage of other people
and here was the kicker for me: I bought their add-on that allows me to race myself. I use the same route most days to commute. The race myself feature allows me to pick a previously recorded trip and 'race' it. Today I averaged 1.6 mph faster than yesterday, I was nearly a mile ahead of myself when I finished my commute and could really see that I was picking up distance on myself when I headed over the bridge today which is, for me, the hardest part of my 8mi commute, a climb I really want to be able to take quickly.
Since it uses GPS it does suck batt... especially since I use bluetooth simultaneously for headphones. But I've easily used it on 3-4 hour trips and I used the money I saved on a cyclocomputer to buy an external battery pack which I can use to recharge my phone (and headphones and anything else) for multiple days while traveling so better, more versatile deal for me IMO. I am also a big fan of carrying less/multitasking.
The downside, isn't the battery, IMO, its that I sometimes forget to open the app and set it to go. All the cyclocomputers I ever had just automatically started as soon as I started moving. But I can add in a ride after the fact if I know the mileage and I think it'll become more and more of a habit.
For rides where I want to see what I'm doing instead of just tracking which it can do from my pocket or bag I used a $5 universal armband for cellphones and rigged it up so I can attach the phone to my stem. I just tighten it around the stem and then wrap it around the headset, it doesn't interfere with my steering nor allow the phone to wiggle at all.