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?
- Cómo almacenar la contraseña SQLcipher localmente
- ¿Cuándo debo guardar datos en SQLite ingresados en un fragmento en mi aplicación de Android?
- Android - ¿Se puede utilizar el Cursor SQLite después de cerrar la base de datos?
- ¿Cuándo debo realizar ciertas operaciones SQLite en otro subproceso (no en el subproceso principal)?
- Compartir y persistir datos entre varias aplicaciones de Android
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.
- ¿Es buena idea usar las preferencias compartidas de Android para almacenar grandes cantidades de datos?
- GreenDAO soporta múltiples relaciones entre tablas
- ¿Qué hace exactamente la restricción de clave externa "NO ACTION" de SQLite y cómo es diferente de "RESTRICT"?
- Android SQLite Dónde y cuándo inicializar SQLiteOpenHelper
- androide sqlite cómo ordenar por el tiempo
- La instrucción DELETE simple no funcionó en SQlite
- SQL eliminar de una tabla + un jointable?
- Cómo establecer una columna como indexador único en Sqlite
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.
- ¿Cómo proteger el contenido multimedia (vídeo, audio) en Android de ser guardado / redistribuido?
- Android: transmisión de la cámara como mjpeg