Wie die Dokumentation sagt, wird es für ?
verwendet Markierungen in Ihrer Abfragezeichenfolge. Sie könnten zum Beispiel Folgendes verwenden:
SQLiteDatabase.delete("users", "user_name = ?", new String[] {"Talib"});
Die Verwendung von Parametermarkierungen ist sehr wichtig, um SQL-Injection zu vermeiden. Zum Beispiel
SQLiteDatabase.delete("users", "user_name = ?", new String[] {"' OR '' = '"});
wird nicht alle Zeilen Ihrer Tabelle löschen, aber wenn Sie es naiv getan haben
SQLiteDatabase.delete("users", "user_name = '" + userName + "'");
und userName
wurde auf "' OR '' = '"
gesetzt , das würde in der Tat Ihren ganzen Tisch zerstören.