Forma preferida de actualizar sqlite db en android

¿Qué manera de utilizar db.update es más rápido y mejor en android? Es decir: construir la cadena de la cláusula where entera junto con los valores de la variable de la cláusula where O hacer uso del 4to parámetro para la actualización pasando los valores de la variable where de la cláusula como una matriz de la secuencia?

¿Pasa donde los valores variables de la cláusula como una nueva matriz de cadenas protegen contra los ataques de inyección de sql?

public boolean UpdateChannelSortKey(Channel c) { ContentValues cv = new ContentValues(); cv.put("SortKey", c.SortKey); return this.db.update("Channels", cv, "ChannelID = ?", new String[]{String.valueOf(c.ChannelID)}) > 0; } 

O

 public boolean UpdateChannelSortKey(Channel c) { ContentValues cv = new ContentValues(); cv.put("SortKey", c.SortKey); return this.db.update("Channels", cv, "ChannelID = " + c.ChannelID, null) > 0; } 

La primera es preferible, porque:

1) Sí, protege contra los ataques de inyección sql.

2) Es mejor utilizar siempre las declaraciones preparadas – no sólo en android, por lo que obtendrá un buen hábito.

3) IMHO, tiene mayor legibilidad.

  • Prácticas recomendadas para sincronizar una base de datos SQL con un servidor remoto REST en Android
  • Android SQLiteAssetHelper No se puede actualizar la base de datos de sólo lectura de la versión 1 a 2:
  • GetWritableDatabase () VS getReadableDatabase ()
  • ¿Cómo puedo recuperar datos de la base de datos con el cursor? (Android, SQLite)
  • ¿Cómo consultar la base de datos SQLite con dos condiciones?
  • Uso de la palabra clave IN en android sqlite
  • Android SQLite Dónde y cuándo inicializar SQLiteOpenHelper
  • Android ContentProvider Esquema de URI para notificar a CursorAdapters escuchando consultas de OUTER JOIN
  • Android obteniendo cadenas de la base de datos sqlite a autocompletetextview
  • `RenamingDelegatingContext` está obsoleto. ¿Cómo probamos SQLite db ahora?
  • Consultar tabla con subclases-como las relaciones
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.