title: Best practices for SQLite DB and ContentProvider
body: <p>My Android app is reading and writing to a local SQLite DB from a few different Activities and a Service. Pretty standard. But I'm not happy with the way I've got all the DB details stored as constants that I then use anywhere I access the DB. I've been advised to wrap the DB in a ContentProvider. Sounds good to me. While I'm refactoring my code, I figured I'd ask: </p>
  
  <ul>
  <li>What are your best practices for local DB data storage in Android?</li>
  <li>Where and how do you store "CREATE TABLE" statements, column names, other SQL?</li>
  <li>Would you mind sharing a list of the classes you instantiate and what goes into each (ContentProvider, DatabaseProvider, DatabaseHelper...)?</li>
  <li>How do you coordinate the structure of your local Android DB with a server-side DB available through a REST interface?</li>
  </ul>
  
  <p>Yeah, I realize I'm getting at the perennial "where's the Android object-relation-mapping framework?" question. For now, I'm mainly curious to hear how you structure your Android apps with what's available in the standard SDK.</p>
  
  <p>As always, thanks for the pointers!</p>