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.