8
votes

Comment puis-je obtenir l'URI de ma base de données SQLite dans mon application Android?

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.


0 commentaires

3 Réponses :


4
votes

Vous n'utilisez pas getContentresolver () pour accéder directement à une base de données SQLite directement. Vous utilisez getcontentresolver () lorsque vous travaillez avec des fournisseurs de contenu. Vous appelez requête () sur un sqlitedatabase Objet pour obtenir un curseur pour une utilisation avec SimpleCursoradapter . .


2 commentaires

Pourquoi cursorloader a-t-il un uri alors?


@MattBlang: Cette question et cette question sont à partir de 2010. Le chargeur chargeur n'existait pas en 2010. Aussi, cursorloader n'accède pas directement à un sqliitetabase Soit, mais plutôt ce que ma réponse décrit: utilise un contentResolver pour interroger un ContentProvider via ce URI .



1
votes

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.

Si vous ne voulez pas faire cela, utilisez simplement la fonction QUERY de SQLITEDATABASE - Il renvoie un curseur que vous pouvez passer au SimpleCursoradapter.


0 commentaires

-1
votes

C'est une méthode assez simple.

mdatabase.Query (Nom de table, colonnes, NULL, NULL, NULL, NULL, NULL);

où, name_name = votre nom de table SQLite et vos colonnes est un tableau de chaîne comme

Colonnes de chaîne [] = nouvelle chaîne [] {"colonne1"};

Si vous voulez toutes les colonnes, vous pouvez passer null pour le deuxième argument.

Correction: Comme mentionné par quelques autres, il n'y a pas d'URI.


3 commentaires

S'il vous plaît, corrigez votre réponse. Il n'y a pas de URI 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.