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?

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.

  • SQLite de Android - Clave principal - Insertar en la tabla
  • Android sqlite: cómo recuperar datos específicos de la columna en particular?
  • Excepción SQLite: la base de datos está bloqueada
  • La base de datos Android está dañada, pero puede abrirse en SQLite Manager. ¿Recuperable?
  • Cómo realizar una prueba de unidad de migración de base de datos entre versiones
  • Error en sqlite "DROP TABLE IF EXISTS" android
  • Orden de consulta de SQlite por caso
  • SQLiteDatabase transacción anidada y solución alternativa
  • Patrón de bloqueo de múltiples hilos de SQLiteDatabase
  • Sqlite Seleccione Query con rawQuery en Android
  • Administración de conexiones SQLite en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.