У меня возникли проблемы с сканером штрих-кода ZXing в приложении для Android. Вчера я задал вопрос here, который объясняет ошибку нулевого указателя, которую я имел. Проблема была решена и просто показала, что курсор не возвращал какую-либо информацию.ZXing Scanner Поиск результатов
Мои проблемы в том, что я знаю, что запрос правильный, и я знаю, что код правильный, потому что я проверил его без сканера отдельно, и все работает нормально. Возможно ли, что я звоню в базу данных неправильно в намерении сканера штрих-кода или есть определенный способ, которым я должен это делать?
Любая помощь или руководство будет замечательным!
onActivity Результат
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
//get the extras that are returned from the intent
barcode_number = intent.getStringExtra("SCAN_RESULT");
String bNumber = barcode_number.toString();
//Code to add scanned item to DB, needs barcode data before can be ruin
final Cursor barInformation = adapter.barcodeInfo(barcode_number);
barInformation.moveToFirst();
String itemName = barInformation.getString(barInformation.getColumnIndex("barcode_item_name"));
Toast toast = Toast.makeText(this, "Barcode Number:" + itemName ,Toast.LENGTH_SHORT);
toast.show();
}
}
}
Запрос
public Cursor barcodeInfo(String number){
// Safe check to make sure db and number is not null
if(db == null || number == null){
return null;
}
return db.rawQuery("select _id, barcode_item_name, barcode_measurement, barcode_unit from barcode where barcode_number = ?", new String[]{number});
}
Ошибка
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.Cursor android.database.sqlite.SQLiteDatabase.rawQuery(java.lang.String, java.lang.String[])' on a null object reference
02-12 11:15:07.544 12808-12808/com.example.rory.prototypev2 E/AndroidRuntime: at com.example.rory.prototypev2.DBMain.barcodeInfo(DBMain.java:437)
02-12 11:15:07.544 12808-12808/com.example.rory.prototypev2 E/AndroidRuntime: at com.example.rory.prototypev2.scanner.onActivityResult(scanner.java:77)
Возможный дубликат [Что является исключение нулевого указателя, и как это исправить?] (Http://stackoverflow.com/questions/218384/what-is-a-null-pointer-exception- и-how-do-i-fix-it) –
Я знаю, что такое пустой указатель, я объяснил в своем вопросе, что существует нулевой указатель. Я не ищу кого-либо, чтобы решить указатель NULL, я прошу проверить, правильно ли я вызываю методы из функции Zxing onActivityResult. – JJSmith