Android - 如何将扫描条形码转换为字符串?

时间:2016-03-23 16:14:06

标签: java android

我创建了一个应用程序,该应用程序利用zxing条形码扫描程序扫描条形码作为输入表单的一部分,并在mainActivity.java中使用以下代码:

        @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        scanBtn = (Button)findViewById(R.id.scan_button);
        formatTxt = (TextView)findViewById(R.id.scan_format);
        contentTxt = (TextView)findViewById(R.id.scan_content);
        scanBtn.setOnClickListener(this);

          public void onClick(View v){
            if(v.getId()==R.id.scan_button){
            IntentIntegrator scanIntegrator = new IntentIntegrator(this);
            scanIntegrator.initiateScan();
          }

        }

        public void onActivityResult(int requestCode, int resultCode, Intent intent) {
          IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
          if (scanningResult != null) {
          String scanContent = scanningResult.getContents();
          String scanFormat = scanningResult.getFormatName();
          formatTxt.setText("FORMAT: " + scanFormat);
          contentTxt.setText("CONTENT: " + scanContent);
        }
        else{
            Toast toast = Toast.makeText(getApplicationContext(),
                "No scan data received!", Toast.LENGTH_SHORT);
            toast.show();
            }
        }

然后我在这里分配了我的文本输入值:

String postCode = etPostCode.getText().toString();
String address1 = etAddress1.getText().toString();

并使用以下代码尝试对扫描的内容值执行相同的操作:

    String scanVal = ((s)findViewById(R.id.scan_content)).toString();

然后将其添加到我的代码的最后一部分

    Toast.makeText(this, "Adding Record...", Toast.LENGTH_SHORT).show();
    new SignupActivity(this).execute(postCode, address1, scanVal);

}

然后我将值发送到我的网络服务器,以便在单击提交按钮时保存到数据库中,唉,它不起作用。

我得到了'邮政编码'的文字值和'地址1'但是没有扫描字段,它只是我数据库中的空字段。

有人能看到我在哪里出错吗?

1 个答案:

答案 0 :(得分:0)

你需要做到这一点:

var url = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="

fetch(url)
.then(res => res.blob())
.then(blob => console.log(blob))