2010-03-01 6 views
0

J'ai du mal à comprendre les fournisseurs de contenu dans Android.Fournisseur de contenu dans les questions de base Android

Utilisez-vous les intentions pour appeler les fournisseurs de contenu ainsi que les requêtes gérées?

En outre, une activité a un filtre d'intention. Le filtre d'intention a un élément qui a un attribut mimeType. Comment Android sait-il à quel fournisseur de contenu ce mime-type fait référence?
La balise dans le manifeste ne fait qu'énumérer une autorité mais pas la totalité de content_uri. En outre, content_uri est généralement défini dans une classe encapsulée qui semble constituée uniquement de constantes mais pas de méthodes, donc je ne vois pas comment cela se rapporte à la classe du fournisseur de contenu.

Merci

Répondre

2

je répondu à certaines de ces questions plus tôt aujourd'hui sur android-developers. Laissez-moi essayer encore ici. Utilisez-vous les intentions pour appeler les fournisseurs de contenu ainsi que les requêtes gérées?

No.

Comment Android savoir quel contenu fournisseur ce mimetype fait référence à ?

Il demande au ContentProvider, via getType(), pour fournir le type MIME pour le Uri qui est dans le Intent.

La balise dans le manifeste juste une autorité énumère mais pas le plein content_uri.

C'est tout ce qui est nécessaire pour Android pour trouver le bon ContentProvider sur lequel appeler getType().

+0

private void pickMe() { Intention i = nouvelle intention (Intent.ACTION_PICK); i.setType (River.CONTENT_TYPE); i.setData (River.CONTENT_URI); startActivityForResult (i, PICK_ME); } CONTENT_URI est la même chose que "le contenu: //com.river.provider.Pickme/pickmeProvider" qui est un fournisseur de contenu. L'activité utilise-t-elle l'intention d'appeler un fournisseur de contenu? L'URI dans setData() se résout à un fournisseur de contenu? Mais cela ne peut pas être correct car les intentions n'informent pas les fournisseurs de contenu, mais c'est ce à quoi cela ressemble. C'est ce que je ne comprends pas. – Hugh

+0

"L'activité utilise-t-elle l'intention d'appeler un fournisseur de contenu?" Non. L'activité utilise l'Intent pour démarrer une autre activité. Cette deuxième 'Activity' est probablement en train d'obtenir ses données à partir de' ContentProvider', mais les détails de cette dernière sont à l'implémentation de cette seconde 'Activity'. – CommonsWare

Questions connexes