Les meilleures pratiques pour SQLite DB et ContentProvider

Mon application Android est la lecture et l'écriture locale SQLite DB à partir de quelques Activités différentes et un Service. Assez standard. Mais je ne suis pas heureux avec la façon dont j'ai tous les détails base de données stockée en tant que constantes que je puis utiliser n'importe où j'ai accès à la DB. J'ai été conseillé pour envelopper la DB dans un ContentProvider. Ça sonne bien pour moi. Alors que je suis refactoring mon code, j'ai pensé que je voudrais poser:

  • Quelles sont vos pratiques exemplaires pour les DB de stockage de données dans Android?
  • Où et comment avez-vous le magasin "CREATE TABLE" les déclarations, les noms de colonnes, d'autres SQL?
  • Auriez-vous l'esprit de partage d'une liste des classes d'instancier et de ce qui se passe dans chaque (ContentProvider, DatabaseProvider, DatabaseHelper...)?
  • Comment coordonnez-vous la structure de votre Android DB avec un serveur DB disponibles via une interface REST?

Oui, je me rends compte que je suis à l'éternel "où est la Android objet-relation-framework de mapping?" question. Pour l'instant, je suis surtout curieux de savoir comment vous structurez vos applications Android avec ce qui est disponible dans le SDK standard.

Comme toujours, merci pour les astuces!

  • Sur une langue-dans-joue la note, voici une vidéo pertinente à partir de l'Android Dev site: youtube.com/watch?v=i293O69nuRo
  • Exactement la question que j'allais poser! Merci!