¿Cómo se implementa el cursor de la base de datos de Android en los detalles?

Soy interesante acerca de los detalles de implementación del Cursor en Android. Sé que básicamente es sólo una interfaz que proporciona acceso de lectura y escritura aleatorio al conjunto de resultados devuelto por una consulta de base de datos. Me pregunto sobre las implementaciones Cursor particular:

  1. ¿Es una especie de estructura de datos que almacena el conjunto de resultados de la base de datos?
  2. ¿O es sólo una estructura que maneja sólo una fila?

Es sólo una estructura de datos que almacena el conjunto de resultados de la base de datos

Sí.

¿O es alguna estructura que maneja sólo una fila?

No exactamente. El cursor puede manejar una o más filas según la consulta de origen. Cursor es un mapa de datos y contendrá tantas filas como devuelve la consulta de origen (select). Así que si la consulta devuelve cien filas, estas filas se insertan en Cursor y Cursor contienen estas cien filas.

Se puede imaginar Cursor como mapa de datos con tamaño dinámico (similar a Lista) donde los datos se colocan como "filas". Cada fila tiene identificación de fila propia (número de fila, podemos decir un puntero) que se genera gradualmente a medida que se insertan en Cursor y simplemente se puede mover entre filas con este número. Implícitamente cada cursor tiene "puntero real" colocado antes de la primera fila (-1 posición) así que si llamas a c.getString(0) expectativa se lanzará porque no hay nada que recuperar.

Así que siempre tienes que llamar a cursor.moveToFirst() que prepara Cursor para leer y si está vacío, el método devuelve false porque no hay fila.

  • ¿Qué es un apkLIB y cómo uso uno?
  • Android - getTabHost () no está definido
  • ¿Cómo transmitir vídeo directamente entre dvr (servidor) y el teléfono móvil con android (cliente)?
  • ¿Cómo puedo implementar un AsyncTaskLoader simple?
  • Cambiar CharSequence primera letra a mayúsculas en android
  • Problema con la orientación de la pantalla de Android
  • GetMap () devuelve null en Android con Google Maps API v2
  • Problema de inicio de sesión de Android Tumblr "JumblrException: No autorizado"
  • Javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Ancla de confianza para la ruta de certificación no encontrada
  • Androide Eclipse Classpath - desea agregar ruta de contenedor de classpath pero eclipse no me deja
  • ¿Cuál es el mejor IDE para el desarrollo de java android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.