J'ai une application Android avec une base de données appelée "myTestdb" avec une table appelée "list_items". Je souhaite utiliser le curseur getcontentresolver (). Query () Procede pour obtenir un curseur à ajouter à un SimpleCursoradapter. Le premier argument de la méthode de la requête () est une URI et je ne suis pas sûr de l'apparence de l'URI. P>
3 Réponses :
Vous n'utilisez pas getContentresolver () code> pour accéder directement à une base de données SQLite directement. Vous utilisez getcontentresolver () code> lorsque vous travaillez avec des fournisseurs de contenu. Vous appelez requête () code> sur un sqlitedatabase code> Objet pour obtenir un curseur code> pour une utilisation avec SimpleCursoradapter Code>. P>.
Pourquoi cursorloader code> a-t-il un uri code> alors?
@MattBlang: Cette question et cette question sont à partir de 2010. Le chargeur chargeur code> n'existait pas en 2010. Aussi, cursorloader code> n'accède pas directement à un sqliitetabase code> Soit, mais plutôt ce que ma réponse décrit: utilise un contentResolver code> pour interroger un ContentProvider code> via ce URI code>.
Une base de données n'a pas d'URI (autre que le fichier où il est situé). Les données gérées via un fournisseur de contenu en sont un. Si vous souhaitez utiliser le résolveur de contenu pour effectuer une requête, vous devez d'abord écrire un fournisseur de contenu. P>
Si vous ne voulez pas faire cela, utilisez simplement la fonction QUERY code> de SQLITEDATABASE - Il renvoie un curseur que vous pouvez passer au SimpleCursoradapter. P>
C'est une méthode assez simple.
où, name_name = votre nom de table SQLite et vos colonnes est un tableau de chaîne comme p>
Si vous voulez toutes les colonnes, vous pouvez passer Correction: Comme mentionné par quelques autres, il n'y a pas d'URI. strong> p> mdatabase.Query (Nom de table, colonnes, NULL, NULL, NULL, NULL, NULL); CODE> P>
Colonnes de chaîne [] = nouvelle chaîne [] {"colonne1"}; code> p>
null code> pour le deuxième argument. P>
S'il vous plaît, corrigez votre réponse. Il n'y a pas de URI code> pour ce cas. Voyez quels annonces de Belware et Ebomike ont dit.
Merci. Je vois maintenant que la réponse est révélée, cependant pour être clair - ce n'est pas de moi.
Ce n'est pas la réponse à la question.