将条形码转换为产品名称

时间:2018-01-05 17:15:44

标签: android barcode

我为大学申请了,下周我有我的演讲。一切准备就绪,除了一个小细节:我使用条形码扫描仪,但我只回馈它扫描的数字。我很乐意将此号码更改为产品名称。在寻找解决方案后,我找不到一个。有谁知道怎么做呢?

2 个答案:

答案 0 :(得分:0)

所以你有一个号码,你需要一个名字。这意味着你需要在某个地方的数字和名称之间进行映射。你不会说出该映射存在于何处或者甚至是否存在。假设它不存在,您可以在应用中对其进行硬编码,例如:

static final SparseArray<String> map;
static {
  map.put(1, "Foo");
  map.put(103, "Bar");
  map.put(529, "Baz");
}

然后使用它,

String name = map.get(number);

请注意,SparseArray是一个优化稀疏int / string映射的Android类。如果您知道可能数字的边界,也可以使用Map甚至是String[]

答案 1 :(得分:0)

我完全忘记发布它,但我确实找到了解决方案。我推出了两个脚本,因为我不能从我的笔记本电脑上安装Android工作室我不能在这里发布我的最终代码。如果有人真的想看到它,我可以在不久的将来做到这一点。但我的解决方案如下:我有一些网站,您可以通过扫描代码和get命令来获取网站信息,将其放入文件并通过查找它来使用有用的东西分裂它。

import java.io.IOException;
import javax.swing.JOptionPane;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Main {
    public static void main(final String[] args) throws IOException {
        String inputValue = JOptionPane.showInputDialog("Please input barcode");
        if (inputValue != null && inputValue.length() > 0) {
            String url = "https://www.barcodable.com/ean/" + inputValue;
            Document doc = Jsoup.connect(url).get();
            JOptionPane.showMessageDialog(null, doc.title(), "result", JOptionPane.INFORMATION_MESSAGE);
        }
    }