79 votes

Quelle est l'utilité du curseur dans le développement d'Android ?

Je parcourais certains codes sur internet concernant la connexion à la base de données, la récupération. J'ai vu Cursor cur1= moveToFirst() dans de nombreux codes, j'ai voulu savoir à quoi sert un curseur et pourquoi on l'utilise moveToFirst() car je suis nouveau sur Android.

0 votes

147voto

Chandra Sekhar Points 6512

Curseur est l'interface qui représente une table à deux dimensions dans une base de données. Lorsque vous essayez de récupérer des données en utilisant SÉLECTIONNER alors la base de données créera d'abord un CURSEUR et vous renvoie sa référence.

Le pointeur de cette référence renvoyée pointe vers l'objet 0e emplacement qui est aussi appelé avant la première location de la Curseur Ainsi, lorsque vous souhaitez récupérer des données à partir du curseur, vous devez d'abord vous déplacer vers le premier enregistrement. moveToFirst

Lorsque vous invoquez moveToFirst() sur la méthode Curseur le pointeur du curseur est déplacé vers l'élément de menu suivant premier emplacement . Maintenant vous pouvez accéder aux données présentes dans le premier enregistrement

66voto

Prabuddha Points 37089

En d'autres termes, le curseur est une interface qui renvoie la collection de vos données de requête. moveToFirst() est utilisé pour pointer la position du curseur à partir de laquelle vous voulez obtenir des données de votre curseur. Il existe des méthodes moveToLast() , moveToNext() , moveToPrevious() , moveToPosition(position) par lequel vous pouvez itérer dans votre curseur de la manière souhaitée.

Par exemple, vous avez des données dans votre Curseur

Lalit
Rithesh
Paresh
Chandra
  • moveToFirst() - Si vous utilisez cursor.moveToFirst() alors dans ce cas il pointera sur Lalit, puisque c'est la première donnée de votre curseur. Pour obtenir la prochaine donnée du curseur, vous pouvez utiliser moveToNext() .

  • moveToLast() - Ceci fera de Chandra la donnée courante dans votre curseur. Pour récupérer les données précédentes du curseur, vous pouvez utiliser moveToPrevious()

28voto

Sumit Sharma Points 889

Un curseur représente le résultat d'une requête et pointe essentiellement vers une ligne du résultat de la requête. De cette façon, Android peut mettre en mémoire tampon les résultats de la requête de manière efficace, puisqu'il n'a pas besoin de charger toutes les données en mémoire.

Pour obtenir le nombre d'éléments de la requête résultante, utilisez la fonction getCount() méthode.

Pour vous déplacer entre les lignes de données individuelles, vous pouvez utiliser la fonction moveToFirst() et moveToNext() méthodes. Le site isAfterLast() permet de vérifier si la fin du résultat de la requête a été atteinte.

Le curseur fournit des méthodes typées get*(), par exemple getLong(columnIndex) , getString(columnIndex) pour accéder aux données de la colonne correspondant à la position actuelle du résultat. Le "columnIndex" est le numéro de la colonne à laquelle vous accédez.

Le curseur fournit également le getColumnIndexOrThrow(String) qui permet d'obtenir l'index d'une colonne pour un nom de colonne de la table.

Un curseur doit être fermé avec la fonction close() appel de méthode. Une requête renvoie un objet Curseur.

0 votes

Je me demande si toutes les données ont été récupérées au moment où le curseur est créé ou si cela peut être retardé jusqu'à ce que vous appeliez des méthodes comme getCount() et moveTo*().

10voto

jeet Points 14950

Le curseur est comme le ResultSet en java, il contient les lignes retournées par certaines requêtes avec son pointeur. moveToFirst() , moveToNext() et moveToPosition(position) place le pointeur à la position désirée.

4voto

Radhika Parmar Points 9

Un curseur est ce dans quoi le résultat de toute requête SQL sera stocké.

2 votes

L'explication n'est pas suffisante

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X