SQLiteQueryBuilder.query () vs SQLiteDatabase.query ()

¿Cuál es la diferencia entre estos dos enfoques? Para mí, parece que el único beneficio de SQLiteDatabase es su capacidad para trabajar con diferentes bases de datos. ¿Estoy bien?

2 Solutions collect form web for “SQLiteQueryBuilder.query () vs SQLiteDatabase.query ()”

El método principal es SQLiteDatabase#rawQuery() . SQLiteDatabase#query() y SQLiteQueryBuilder son sólo ayudantes para componer el SQL.

SQLiteDatabase#query() sólo puede componer consultas simples de una tabla. El SQLiteQueryBuilder puede crear uniones, uniones y tal. Puesto que SQLiteQueryBuilder es un objeto extra, solo lo construirías si lo necesitas.

Personalmente creo que cualquier SQL no trivial es más fácil de leer como SQL que como piezas compuestas con helper como este, así que usar rawQuery sobre SQLiteQueryBuilder , pero eso es una cuestión de gusto y lo bien que sabes SQL. El SQLiteQueryBuilder también puede ser útil si tiene algunas subconsultas comunes que desea componer de manera diferente.

De hecho, yo preferiría (uso sqlite principalmente usando su API C) para usar sentencias preparadas, porque la compilación de SQL es lenta en comparación con su ejecución, pero no veo esa opción en la interfaz de Java.

SQLiteQueryBuilder es útil si desea realizar combinaciones en varias tablas. Tiene varios métodos de conveniencia para eso, si ve el código fuente en GrepCode: SQLiteQueryBuilder

De lo contrario, no puedo pensar en una razón sólida para utilizar SQLiteQueryBuilder sobre otros enfoques para consultar la base de datos.

  • Base de datos no visible en la carpeta DDMS cuando se utiliza el dispositivo real en lugar del emulador
  • Android SQL Lite no crece
  • ¿Cómo descargar una base de datos SQLite desde un dispositivo Android?
  • Sigue recibiendo NullPointerExceptions al intentar llamar a getWritableDatabase ()
  • Android sqlite - Cómo administrar un valor entero en la cláusula where
  • ¿Qué hará un SQLiteCursor si una columna es nula?
  • Nuevo carácter de línea \ n no se muestra correctamente en textView Android
  • ¿Cómo puedo poner datos estáticos en una base de datos SQLite en Android?
  • RxJava2 en la función de devolución de llamada onLoadFinished de CursorLoader
  • Solicitud de SQL con el caso en orden por tiros "(1) primer término ORDER BY no coincide con ninguna columna en el conjunto de resultados"
  • Cómo lograr una relación de "herencia" en la base de datos SQLite en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.