3

J'ai plus d'une activité (dans la même application) qui doit avoir accès à la base de données. Quel est le meilleur modèle pour mettre en œuvre cela? Ai-je besoin d'un fournisseur de contenu même si toutes les activités appartiennent à la même application?Fournisseur de contenu Android dans la même application

Quelle activité devrait être responsable de l'ouverture et de la fermeture de la base de données?

Répondre

0

Non nécessaire. Vous avez juste à créer un fournisseur de contenu si vous voulez une application externe pour accéder à vos données.

3

Vos deux options sont Content Provider ou vous utilisez simplement votre propre couche d'abstraction de base de données. Le fournisseur de contenu est un meilleur moyen de procéder comme indiqué, si vous avez besoin d'autres applications pour partager vos données ou si vous avez besoin de se connecter à une autre partie d'Android (comme le cadre de recherche rapide). Il ne devrait pas être lié à une activité - il devrait simplement s'agir d'une classe distincte que vous importez et utilisez.

Le livre de programmation OReilly Android a un chapitre qui illustre les deux approches, c'est une bonne lecture.

+0

Je veux faire l'inverse. Je ne veux pas autoriser l'accès à mon fournisseur de contenu sauf/en dehors de ma propre application. Je vais juste l'utiliser pour les suggestions de recherche. Sais-tu comment je peux faire ça? Merci. – karim

+0

Vous pouvez spécifier des autorisations pour les fournisseurs de contenu, voir: http://developer.android.com/reference/android/R.styleable.html#AndroidManifestProvider – Eno

Questions connexes