Получение BLOB-объекта отпечатка пальца приводит к сбою приложения во время выполнения, SQLITE для Android - PullRequest
0 голосов
/ 11 февраля 2019

Следующие ошибки были зарегистрированы

на com.github.omadahealth.lollipin.DatabaseHelper.userFP1 (DatabaseHelper.java:400) на com.magtouch.app.gateopen $ 22.onUpCharSuccess (gateopen.java:777) в android_serialport_api.AsyncFingerprint.handleMessage (AsyncFingerprint.java:126)

Функция базы данных

public byte[] userFP1(int userID){
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.query(TABLE_USERS, new String[]{FINGER_PRINT1}, USER_ID + "=?", new String[]{String.valueOf(userID)}, null, null, null, null);

        if (cursor != null) {
            cursor.moveToFirst();
        }
        return cursor.getBlob (10  );

    }

, вызывающая кодбаза данных

    if(db.userFP1 (i)!=null){
                        System.arraycopy( db.userFP1 ( i ), 0, tmp, 0, 256);
                        if(FPMatch.getInstance().MatchTemplate(model,tmp)>60){
                            tvFpStatus.setText(getString( R.string.txt_fpmatchok));
                            break;
                        }
Section pointed by the error from (AsyncFingerprint.java:126)
if (msg.obj != null) {
                        onUpCharListener.onUpCharSuccess((byte[]) msg.obj);
                    } else {
                        onUpCharListener.onUpCharFail();
                    }

1 Ответ

0 голосов
/ 11 февраля 2019

Следующий код работал для меня

public byte[] userFP1(int userID){
        SQLiteDatabase db = this.getReadableDatabase ();
        Cursor cursor = db.query(TABLE_USERS, new String[]{FINGER_PRINT1}, USER_ID + "=?", new String[]{String.valueOf(userID)}, null, null, null, null);

        if (cursor.moveToFirst()){
            byte[] imgByte = cursor.getBlob(0);
            cursor.close();
            return imgByte;
        }
        if (cursor != null && !cursor.isClosed()) {
            cursor.close();
        }
        return null;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...