87 votes

Différence exacte entre "Fournisseur de contenu" et "Base de données SQLite"

j'ai fait une base de données SQLite de programmation pour Android, mais je ne sais rien à ce sujet Fournisseur de contenu à l'exception de ceci: "Comme je l'ai mentionné Développeur Android page , Android SDK expliqué à propos de "fournisseur de Contenu" comme il est utilisé pour stocker et récupérer des données."

Mais alors,

  1. Quelle est la différence exacte entre "Fournisseur de Contenu" et "Base de données SQLite"?
  2. Qui est le mieux pour stocker les données, quand ?

Tout exemple ou de l'aide !!

136voto

Paresh Mayani Points 48123

J'ai trouvé une différence majeure, comme suit:

Le stockage de vos données dans une base de données est un bon moyen de conserver vos données, mais il y a une mise en garde dans Android-les bases de données créées dans Android sont visible seulement à l'application qui les a créés. C'est-à-dire, une base de données SQLite créé sur Android par une application est utilisable uniquement par l'application, et non par d'autres applications.

Donc, si vous need to share data between applications, you need to use the content provider model as recommended in Android. Cet article présente les principes de base des fournisseurs de contenu et la façon dont vous pouvez mettre en œuvre.

J'ai trouvé cet article sur ce lien: http://www.devx.com/wireless/Article/41133

Vraiment sympa les informations fournies.

54voto

CommonsWare Points 402670

Quelle est la différence exacte entre "Fournisseur de contenu" et "SQLite Base de données"?

ContentProvider est une façade, une API, vous pouvez mettre en œuvre qui expose les bases de données à d'autres processus. Il peut être mis en œuvre dans une voie où les données sont stockées dans une base de données SQLite, mais il n'a pas à être.

Qui est le mieux pour stocker les données, quand ?

C'est impossible de répondre dans l'abstrait. En règle générale, à moins que quelque chose est en vous obligeant à utiliser un ContentProvider, il suffit d'utiliser une base de données.

27voto

zeeshan Points 512

J'ai fait beaucoup de bonnes applications avec des milliers d'utilisateurs à l'aide de ceux qui tout simplement l'utilisation de SQLite méthodes. Seulement récemment, lors d'un travail que je dois commencer à utiliser ContentProvider, et jusqu'à présent, n'a pas vu tous les avantages. Il est vrai que le "si", une autre application a besoin d'accéder à votre base de données, cependant, combien d'entre nous et combien de fois avez un tel besoin. Même pour mon projet actuel, où nous utilisons ContentProvider, il n'est pas nécessaire de partager les données entre les applications.

Donc, je pense que ContentProvider est pour ceux qui se sentent plus à l'aise avec un accès indirect à la base de données locale, en raison de quelque raison que ce soit.

Je pense que ContentProvider ajoute également des complications inutiles dans le code.

5voto

Mina Samy Points 3207

Les fournisseurs de contenu sont utilisés lorsque vous souhaitez partager vos données entre applications.

Si vous avez une base de données attachée à une application et que vous souhaitez qu'une autre application utilise certaines données, vous pouvez implémenter un fournisseur de contenu qui expose les données.

3voto

La principale différence est la suivante: lorsque votre application doit partager des informations avec d'autres applications, utilisez Content-Provider. SQLite uniquement des données de stockage pour l'application qui les crée

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X