Come dice la documentazione, è usato per ?
marcatori nella stringa di query. Ad esempio, potresti usare questo:
SQLiteDatabase.delete("users", "user_name = ?", new String[] {"Talib"});
L'uso di indicatori di parametro è molto importante per evitare l'iniezione di SQL. Ad esempio,
SQLiteDatabase.delete("users", "user_name = ?", new String[] {"' OR '' = '"});
non cancellerà tutte le righe della tua tabella, ma se lo hai fatto ingenuamente
SQLiteDatabase.delete("users", "user_name = '" + userName + "'");
e userName
era impostato su "' OR '' = '"
, che in effetti distruggerebbe l'intero tavolo.