[英]Retrieving a fingerprint Blob is Crashing the app at run time, SQLITE for Android
The following errors have been logged 已记录以下错误
at com.github.omadahealth.lollipin.DatabaseHelper.userFP1(DatabaseHelper.java:400) at com.magtouch.app.gateopen$22.onUpCharSuccess(gateopen.java:777) at android_serialport_api.AsyncFingerprint.handleMessage(AsyncFingerprint.java:126) 在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)
Database Function 数据库功能
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 );
}
code calling the database 代码调用数据库
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();
}
The following code worked for me 以下代码为我工作
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.