我正在使用Firebase Barcode Scanner,并且在用户扫描产品时需要获取产品信息,例如,饮料尺寸(1l,2l ...),衣服尺寸(m,l,xl),衣服颜色或类似的东西。
是否可以从条形码原始值中提取数据?
workflowModel = ViewModelProviders.of(this).get(WorkflowModel::class.java)
workflowModel?.detectedBarcode?.observe(this, Observer { barcode ->
if (barcode != null) {
val barcodeFieldList = ArrayList<BarcodeField>()
barcodeFieldList.add(BarcodeField("Raw Value", barcode.rawValue ?: ""))
BarcodeResultFragment.show(supportFragmentManager, barcodeFieldList)
}
})
答案 0 :(得分:2)
条形码只是用作参考的编码数字,它仅包含唯一(有时不是很唯一)的标识符。它不包含除此之外的特定数据。
此工作方式的一个非常基本的示例是:扫描条形码并获取编号12345。调用参考编号为12345的后端api或Web服务。API或Web服务使用唯一键12345查找产品并返回有关该产品的元数据回到您的设备。
我意识到这超出了您的问题范围,但是如果您正在寻找使用直接附加的数据来标记商品的方法,那么您将希望转向可以将数据存储在船上的RFID技术(尽管仍然非常如果您正在寻找移动设备与该技术之间的直接交互,那么您将希望转向NFC(在较高级别上是RFID的子集。)原因是某些移动设备具有交互能力借助NFC技术,而它们却无法与其他形式的RFID交互,而没有昂贵的外围设备(想想员工徽章读取器)。
希望这会为您指明正确的方向。我已经经历过这样的实现,并且我知道它会令人沮丧,因为关于该主题的开发人员发布的资源非常有限。