I've tried 4 or 5 smartphone apps for a bike computer. Strava, map my ride, etc. Today I tried RideWithGPS.
Guys, they ALL suck. They ALL want money every month.
Except one. CycleDroid.
Free. Does everything. Speed, avg speed, top speed, altitude changes, calories expended, oxygen consumed. It Even maps the ride with GPS onto a google map automatically (it's sort of hidden in the menu). The ONLY thing it doesn't do is auto-pause when you stop for coffee.
The author stopped updating in January this year for personal reasons, but he open sourced the code. So hopefully somebody picks it up and adds the auto-pause.