Dòng thứ ba là vấn đề. Xem đầu ra logcat của bạn và các nguồn Android (tìm kiếm trong các nguồn để "yêu cầu tên cột với tên bảng"). Bây giờ hãy xem đầu ra logcat của bạn. Dòng có câu này chứa tên cột bạn đang yêu cầu:/mnt/sdcard/googleCheckout/Saxo Trader.apk
. Giá trị này đến từ con trỏ kết quả của bạn. Tất nhiên db của bạn không chứa cột này :-)
Thay thế các dòng
String url = c.getString(c.getColumnIndex(c.getString(0)));
String code = c.getString(c.getColumnIndex(c.getString(1)));
với
String url = c.getString(c.getColumnIndex("reco_index_user_action_download_file"));
String code = c.getString(c.getColumnIndex("reco_index_content_code"));
Tôi cũng khuyên bạn nên kéo mã để nhận các chỉ số từ bên trong vòng lặp ra bên ngoài vòng lặp. Không cần phải yêu cầu các chỉ số lặp đi lặp lại.