feat:android数据库优化

This commit is contained in:
dzc committed 2025-03-18 16:34:17 +08:00
1 parent c0051cc79e
commit 1c27f8aef9
2 files changed
+36 -12

No files matched your search

@@ -21,14 +21,18 @@ public class DataBaseUtils {
static public List<FaceEntity> getUserFace(Context context, String queryUserId) {
List<FaceEntity> result = new ArrayList<>();
int rowCount = 0;
DatabaseHelper databaseHelper = null;
SQLiteDatabase database = null;
Cursor cursor = null;
try {
DatabaseHelper databaseHelper = new DatabaseHelper(context);
SQLiteDatabase database = databaseHelper.getWritableDatabase();
databaseHelper = new DatabaseHelper(context);
database = databaseHelper.getWritableDatabase();
String sql = "SELECT * FROM face";
Cursor cursor = database.rawQuery(sql, null);
if (Objects.nonNull(queryUserId) && !Objects.equals(queryUserId, "")) {
sql = sql.concat(" WHERE userId = ?");
cursor = database.rawQuery(sql, new String[]{queryUserId});
} else {
cursor = database.rawQuery(sql, null);
}
Log.i(TAG, "getUserFace,sql:" + sql + ";queryUserId:" + queryUserId + ";");
rowCount = cursor.getCount();
@@ -64,23 +68,33 @@ public class DataBaseUtils {
}
result.add(item);
}
// 关闭资源
cursor.close();
databaseHelper.close();
Log.i(TAG, "查询人脸数据库成功人脸总数:" + rowCount + "list长度:" + result.size() + ";");
return result;
} catch (Exception e) {
Log.e(TAG, "查询数据库人脸错误error:" + e.getMessage(), e);
return result;
} finally {
if (cursor != null) {
cursor.close();
}
if (database != null) {
database.close();
}
if (databaseHelper != null) {
databaseHelper.close();
}
}
return result;
}
static public Boolean updateFaceModel(Context context, FaceEntity faceEntity) {
DatabaseHelper databaseHelper = null;
SQLiteDatabase database = null;
SQLiteStatement statement = null;
try {
DatabaseHelper databaseHelper = new DatabaseHelper(context);
SQLiteDatabase database = databaseHelper.getWritableDatabase();
databaseHelper = new DatabaseHelper(context);
database = databaseHelper.getWritableDatabase();
String sqlUpdate = "UPDATE face SET faceModel = ? WHERE sampleId = ?";
SQLiteStatement statement = database.compileStatement(sqlUpdate);
statement = database.compileStatement(sqlUpdate);
statement.bindString(1, fromByteArray(faceEntity.getFaceModel()));
statement.bindLong(2, faceEntity.getSampleId());
int rowsAffected = statement.executeUpdateDelete();
@@ -89,8 +103,18 @@ public class DataBaseUtils {
} catch (Exception e) {
Log.e(TAG, "更新人脸模型失败username:" + faceEntity.getUserName() + ";id:" + faceEntity.getFaceId() + ";");
Log.e(TAG, "更新人脸模型失败error:" + e.getMessage(), e);
return false;
} finally {
if (statement != null) {
statement.close();
}
if (database != null) {
database.close();
}
if (databaseHelper != null) {
databaseHelper.close();
}
}
return false;
}
public static byte[] toByteArray(String json) {
+1 -1
View File
@@ -47,7 +47,7 @@ class SyncFaceTool {
}) async {
final app = Get.find<AppControl>();
final faceDao = app.dataBase.getFaceDao;
const size = 50;
const size = 100;
var pa = {
"current": pageNo,
"size": size,