Je suis en train de créer une application dans laquelle j'ai une table pour les événements et une table pour les lieux. Je veux pouvoir accorder à d'autres applications l'accès à ces données. J'ai quelques questions liées aux meilleures pratiques pour ce genre de problème.Meilleures pratiques pour exposer plusieurs tables à l'aide de fournisseurs de contenu dans Android
Comment dois-je structurer les classes de base de données? J'ai actuellement des classes pour EventsDbAdapter et VenuesDbAdapter, qui fournissent la logique pour interroger chaque table, tout en ayant un DbManager séparé (extends SQLiteOpenHelper) pour gérer les versions de base de données, créer/mettre à jour les bases de données. Est-ce la solution recommandée, ou serais-je mieux soit de tout consolider à une classe (ie le DbManager) ou de tout séparer et de laisser chaque adaptateur étendre SQLiteOpenHelper?
Comment devrais-je concevoir des fournisseurs de contenu pour plusieurs tables? En étendant la question précédente, devrais-je utiliser un fournisseur de contenu pour l'ensemble de l'application ou devrais-je créer des fournisseurs distincts pour les événements et les sites?
La plupart des exemples ne concernent que les applications à table unique, donc j'apprécierais n'importe quel pointeur ici.
com.android.providers.contacts.ContactsProvider2.java https://github.com/android/platform_packages_providers_contactsprovider/blob/master/src/com/android/providers/contacts/ContactsProvider2.java – Alex
@ Marloke Merci. Ok, je comprends que même l'équipe Android utilise la solution 'switch', mais cette partie que vous avez mentionnée:' Ils traitent les requêtes inter-tables en fournissant des vues spécialisées sur lesquelles vous exécutez ensuite des requêtes sur le back-end. Sur le frontal, ils sont accessibles à l'appelant via différents URI via un seul fournisseur de contenu ». Pensez-vous que vous pourriez expliquer cela un peu plus en détail? – eddy