如何在SQL查询中使用扫描的变量(条形码)

时间:2019-07-11 15:36:20

标签: android firebase android-studio kotlin firebase-mlkit

我正在尝试将扫描的条形码用作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()
    }

1 个答案:

答案 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代码:创建一条语句,绑定当前值并执行它。