Android: Howto use UriMatcher to switch multiple tables, query parametes and activities?
===

I would like to read your thoughts on how to solve the following problem. Here are the **basic requirements of the application** I am working on.

 - Display multiple locations one city on a map.
 - Support for **multiple** cities.
 - Display the properties of a location on a separate details view.
 - Location properties of each city **differ**.

I would like to implement a flexible **decision logic** that **switches between cities based on the location** that the map is at. That means, the initial information I rely on, is the map center. Here is the theoretical workflow.
 
 1. Get the current center location from the map.
 2. Translate the location into a city **url** and **uri**.
 3. Download locations via HTTP using the url.
 4. Store the locations in local database. One table for each city since location properties differ.
 5. Load cached or downloaded data from a content resolver using the uri.
 6. Create overlay items and include the **uri reference** and a **unique id**.
 7. Open a details view when tapping on a location.
 8. The details view should render the city specific location properties.
 9. The location properties again are loaded via a content resolver based on the passed uri and unique id.

**Questions:**

 1. I am particular interested on how you would switch cities, query parameters such as **column names** using the `UriMatcher` class. 
 2. Would you prepare **one** details view for each city? Or do you see any practical solution to **swap** text fields, label, .. based on the available property information?