La tercera línea es el problema. Vea su salida de logcat y las fuentes de Android (busque dentro de las fuentes "solicitando el nombre de la columna con el nombre de la tabla"). Ahora eche un vistazo a su salida logcat. La línea con esta oración contiene el nombre de la columna que está solicitando:/mnt/sdcard/googleCheckout/Saxo Trader.apk
. Este valor proviene de su cursor de resultados. Por supuesto, su base de datos no contiene esta columna :-)
Sustituye las líneas
String url = c.getString(c.getColumnIndex(c.getString(0)));
String code = c.getString(c.getColumnIndex(c.getString(1)));
con
String url = c.getString(c.getColumnIndex("reco_index_user_action_download_file"));
String code = c.getString(c.getColumnIndex("reco_index_content_code"));
También sugiero extraer el código para obtener los índices desde dentro del bucle hasta fuera del bucle. No es necesario pedir los índices una y otra vez.