There is an awesome open source maps tool for Android that I used as my reference point. It is a full blown standalone map solution but within it you can extract out some very good details for providers such as Google, Bing, arcGIS, MapQuest, USGS, and many others.
Once you know the underlying tile layout and URLs you can build your own tile provider for retrieving and caching them. Be sure to understand the limitations for each underlying provider from a licensing perspective. Google and Bing, for example, only allow for 30 days of local storage.
I'll post back shortly with the project I used as my reference point.