我正在尝试将扫描的条形码用作SQL查询中的变量。我正在使用Google ML Kit Quick Start项目。我有一个使用jtds1.3.1进行的连接和查询功能。我只是无法获取要在查询中使用的原始值。
扫描条形码后,如何用原始值调用查询功能? 每次扫描条形码时,如何将原始值存储在变量中?
override fun onSuccess(
originalCameraImage: Bitmap?,
barcodes: List<FirebaseVisionBarcode>,
frameMetadata: FrameMetadata,
graphicOverlay: GraphicOverlay
) {
graphicOverlay.clear()
originalCameraImage?.let {
val imageGraphic = CameraImageGraphic(graphicOverlay, it)
graphicOverlay.add(imageGraphic)
}
barcodes.forEach {
val barcodeGraphic = BarcodeGraphic(graphicOverlay, it)
graphicOverlay.add(barcodeGraphic)
}
graphicOverlay.postInvalidate()
}
答案 0 :(得分:1)
您可能希望遵循以下几点:
override fun onSuccess(
originalCameraImage: Bitmap?,
barcodes: List<FirebaseVisionBarcode>,
frameMetadata: FrameMetadata,
graphicOverlay: GraphicOverlay) {
String barcodeValue = barcodes.get(0).getRawValue();
PreparedStatement stmt = dbConnection.createStatement("insert into scanned_barcodes(barcode) values (?)");
stmt.setString(1, barcodeValue);
stmt.execute();
}
扫描的条形码在barcodes
列表中。可以使用getRawValue()
访问该值。
其余代码是常规JDBC代码:创建一条语句,绑定当前值并执行它。