RawQuery Vs. Database.query

¿Son sus ventajas en el uso de rawQuery sobre el Query Builder (o viceversa)?

¿El Query Builder, por ejemplo, protege de nuevo los ataques de Inyección de SQL (aunque no es un gran problema como con sitios web, SQL Injection + un proveedor de contenido podría ser un problema)? O es uno más rápido que el otro?

Estoy bastante contento con SQL (lo suficiente para lo que tengo que hacer de todos modos) y por lo que tienden a ir para rawQuery (puedo leer el código fuente más fácil), pero me estoy preguntando si estoy perdiendo algo que podría ser útil.

Definitivamente es preferible crear una consulta a través de los métodos proporcionados. No sólo lo protege de las inyecciones de SQL, sino que también crea la consulta para usted para que pueda evitar tener un montón de concatenaciones de cadenas que harán que la cadena de consulta sea menos legible y más propensa a errores. En cuanto al rendimiento, no creo que haga mucha diferencia.

Readability es una ventaja de la rawQuery. Al menos para mi.

Como saben, según el desarrollador del principio de Pareto pasan el 80% de su tiempo leyendo el código. Por lo tanto, la legibilidad es un argumento muy fuerte.

Aunque QueryBuilder también proporciona la manera de utilizar marcadores de posición (proteja contra inyecciones de SQL).

Espero que ayude.

  • Problemas para obtener Calendar.WEEK_OF_YEAR
  • Android ContentProvider llama ráfagas de setNotificationUri () a CursorAdapter cuando se insertan muchas filas con una operación por lotes
  • ¿Cómo comunicarse entre WebView y JavaScript?
  • Android: SQLiteException: no es un error no en todos los dispositivos
  • Error desconocido (código 14): No se pudo abrir la base de datos
  • Implementación SQLite deficiente? Acceso a los datos por primera vez demasiado lento
  • Android: Guardando valores booleanos en una base de datos (Principiante)
  • Error de SQLIte de Android: No se pudo leer la fila 0, col 1 de CursorWindow
  • Android: transacciones SQLite al usar ContentResolver
  • SQLite onUpgrade ()
  • SQLite de SQL INSERT o REPLACE
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.