Possible d'écrire fournisseur de contenu personnalisé pour la base de données du système existant?

StackOverflow https://stackoverflow.com/questions/1877343

  •  18-09-2019
  •  | 
  •  

Question

Je ne sais pas de l'utilité absolue de cela, mais semble comme si il devrait être possible et utile.

Pouvez-vous étendre ContentProvider de fournir URIs représentant de nouvelles requêtes (par exemple, des jointures sur plusieurs tables non spécifiées par URIs existantes) pour une base de données de système existant?

L'alternative semble être que je dois écrire une série de cursor queries puis les rejoindre -. Semble comme beaucoup de duplication de code inutiles

J'ai essayé ce pour les contacts database comme un exercice, mais pas d'amour à ce jour.

Le point crucial semble être que je ne peux pas ouvrir un database dans un autre package lors de la phase d'installation.

Suis-je juste complètement dans le champ gauche ici?

Il est possible que je suis nouvelle à la fois Java and Android.

Commentaires et / ou des pointeurs vers des ressources pertinentes sont appréciés.

Merci,

Steve

Était-ce utile?

La solution

  

Pouvez-vous étendre à ContentProvider   fournir URIs représentant de nouvelles requêtes   (À savoir, les jointures entre plusieurs tables   non spécifiée par URIs existant) pour un   base de données du système existant?

Pas vraiment, seulement parce que vous ne disposez pas d'un accès direct aux bases de données du système existant, en termes de SQLite. Maintenant, la création d'un ContentProvider qui exécute vos jointures pour vous, en tant que mesure de réutilisabilité, est certainement faisable, bien que je recevrais inquiet au sujet les frais généraux de performance de multiples sauts inter-processus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top