Este:
" SongName LIKE '%"+"=?"+"%'"
terminará pareciéndose a esto cuando el intérprete de SQL ve:
" SongName LIKE '%=?%'"
Y que coincidirá con cualquier nombre de canción que contenga un lite ral "=?" y no creo que sea algo como lo que quieres.
A %
coincide con cualquier secuencia de caracteres en un SQL LIKE, es esencialmente lo mismo que .*
en una expresión regular; por lo tanto, si desea unir al principio, entonces no desea un %
líder. Además, su marcador de posición ?
debe estar fuera de las comillas simples o se interpretará como un signo de interrogación literal en lugar de un marcador de posición.
quieres algo más a esto:
String[] a = new String[1];
a[0] = match_str + '%';
Cursor c = myDB.rawQuery("SELECT * FROM songs WHERE SongName LIKE ?", a);
Si quería ser muy estricta que también tendría que escapar %
y _
símbolos dentro match_str
también, pero lo que queda como ejercicio para el lector.
estoy dvlping una aplicación andr con un EditarTexto que permite a los usuarios buscar songs.i quieren use srch instantáneo en él, quiero decir que quiero los resultados de búsqueda en mi lista de mi aplicación al instante, ya que el usuario escribe en el cuadro de texto de edición en orden de las canciones más visitadas. Estoy utilizando una base de datos de canciones para ella, pero me temo que puede ser demasiado slow.Besides quiero mi EditarTexto listner a disminuir la velocidad y espera hasta que el usuario termina su texto estoy usando System.currentTimeMillis() como marcador ND esperar fr. 5 segundos, no está esperando. soy nuevo en Android y no sé tiempo lo que va a funcionar o no .. pls me sugieren smthing – sayantan
@ user712771: Eso suena como una pregunta totalmente nueva que sería mejor contestada por alguien que conoce Android mejor que yo. –
gracias, pero realmente pensé u podría help..i creo que debería pedir como una cuestión separada .. – sayantan