With a smartphone you can generally upload pretty much any formate of a ride you want (.kml, .gpx, etc...). I use Cyclemeter on my iPhone and you can do it with this one. I just came back from a cycling vacation and we loaded 10 different rides onto the phones before we left.
Cyclemeter provides at least the functionality of most bike specific computers. It can also use other Google Maps or Apple Maps and it can do topo maps too.
J.