Estou tentando fazer a seguinte consulta SQL no Android:
String names = "'name1', 'name2"; // in the code this is dynamically generated
String query = "SELECT * FROM table WHERE name IN (?)";
Cursor cursor = mDb.rawQuery(query, new String[]{names});
No entanto, o Android não substitui o ponto de interrogação pelos valores corretos. Eu poderia fazer o seguinte, no entanto, isso não protege contra injeção de SQL:
String query = "SELECT * FROM table WHERE name IN (" + names + ")";
Cursor cursor = mDb.rawQuery(query, null);
Como posso contornar esse problema e ser capaz de usar a cláusula IN?